--- title: "Unqork’s Internal API: Read APIs" slug: "unqorks-internal-api-read-apis" updated: 2025-09-26T04:16:22Z published: 2025-09-26T04:16:22Z canonical: "docs.unqork.io/unqorks-internal-api-read-apis" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Unqork’s Internal API: Read APIs **Unqork's internal Read API** call is one of the available create, read, update, and delete (CRUD) operations. Unlike other CRUD operations, the read operation does not modify the data it retrieves. Instead, read operations act like an operating system's copy and paste function, copying data from one location on the internet and pasting it to a different location. In Unqork, read operations are also known as calls. For example, the following endpoint is a read operation: **Get** **Module** **Submissions**. In this article, you'll explore two examples of **read API** services in Unqork: the **Get** **Module** **Submissions** and **List Submissions for Dashboard** API calls. Get Module Submissions APIList Submissions for Dashboard API ## Get Module Submissions API The **Get** **Module** **Submissions** API is the simplest of Unqork's internal API calls. It retrieves multiple module [submissions](/v1/docs/submission-data). In combination with the List Submissions for Dashboard API, you can then populate those submissions in a dashboard. > [!TIP] > To learn more about the Get Module Submissions API, view our [Get Module Submissions](https://developers.unqork.io/#operation/getModuleSubmissions) documentation. ## Review the Get Module Submissions API Configuration To help explain how the Get Module Submissions API works, we've configured a module and [Plug-In](/v1/docs/plug-in-component) component that uses this API call. The following sections explore the configuration and let you test the API. We will take a closer look at the List Submissions for Dashboard API later in this article. > [!CAUTION] > Feel free to use the configuration created here for your own builds. But, please do **not** reconfigure the modules. If you want to use the configuration, make a copy of the module and paste it in your application. ### Review the initNewSubmission Initializer Component First, let's open the preconfigured module and look at the [Initializer](/v1/docs/initializer-component) component configuration. 1. Open the preconfigured module in the Module Builder by clicking the following link: [https://training.unqork.io/#/form/64cbebaf9ee30a59c4322f0d/edit](https://training.unqork.io/#/form/64cbebaf9ee30a59c4322f0d/edit). 2. Hover over the **initNewSubmission** **I****nitializer** component. A 4-button toolbar displays above the component on hover-over. 3. Using the toolbar, click the ![AppBuildButton_Settings.jpg](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/AppBuildButton_Settings(52).jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D)(**Settings**) button. 4. Review the following settings: You can see that the **Trigger Type** is set to `New Submission`, firing the Initializer on page load. In the **Outputs** table, the component outputs values from a schema module and stores them in the **moduleId** **H****idden** component. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/internalRead_Init_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) ### Review the pluginGetSubmissions Plug-In Component Let's take a closer look at the necessary [Plug-In](/v1/docs/plug-in-component) component configuration and settings to make the API work. 1. Hover over the **pluginGetSubmissions** Plug-In component. A 4-button toolbar displays above the component on hover-over. 2. Using the toolbar, click the ![AppBuildButton_Settings.jpg](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/AppBuildButton_Settings(52).jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D)(**Settings**) button. 3. Review the following settings: #### Internal Services From the **Internal Services** drop-down, you'll see that the `Get Module Submissions` API is selected. Once selected, the **Data Source URL** auto-populates with `/fbu/uapi/modules/{moduleId}/submissions`. As you can see, the {moduleId} placeholder text in the URL was modified to `{{data.moduleId}}`. That way, you can retrieve the specific data stored in the **moduleId** **H****idden** component. > To learn more about the Get Module Submissions API, click the Learn More button in the [Plug-In](/v1/docs/plug-in-component) component's configuration window. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/internalRead_plugInGetSubs_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) #### Request Type The **Request Type** is also set to GET. The type is used to retrieve data. #### Inputs Lastly, the **Inputs** table sorts by the **created** data field of the submission and specifies a descending sort order based on the date and time created. > [!TIP] > To learn more about conditional filtering, see the api-query-params library documentation: [github.com/loris/api-query-params](http://github.com/loris/api-query-params). ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/internalRead_plugInGetSubsInputs_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) ### Test the Get Module Submissions API Now, let's preview the module and test the configuration. 1. **Preview** the preconfigured module in Express View. 2. Right-click anywhere on the page. 3. Click **Inspect**. The Inspect tab of the DevTools Console opens to the right of the page. 4. Click on the **Network** tab to see the API calls. 5. Click **Get Submissions**. This button triggers the **pluginGetSubmissions** Plug-In component. > [!NOTE] > Unqork data is managed in a MongoDB database, which is stored in Amazon Web Services (AWS) and Azure. By pulling in these submissions, you’re seeing what’s saved to MongoDB. 6. In the **Name** column, you'll see` submissions?sortBy=created&sortOrder=-1`. You’ll also see the HTTP status in the **Status** column. If you see a 200 response, the call was successful. > [!NOTE] > You will also see additional filters after the word submissions. These are the `sortBy` and `sortOrder` filters set up in the **pluginGetSubmissions** Plug-In component. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/InternalAPI_Read_Express_01_thumb_0_0(1).jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) 7. If you click on the API call, you’ll see the specific information about that call: | Inspector Tabs | Description | | --- | --- | | Headers | Displays the call's general information. This information includes the request URL, request method, response headers, and request information (if any was sent). Use this tab to double-check the information that you’re sending in your request. | | Payload | Displays the actual response payload received from the call, formatted using readable JSON. | | Preview | Displays the additional information about the call, formatted using readable JSON. | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/InternalAPI_Read_Express_02_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) ### Use the Angular Command You can also view API call data and responses in the **Console** tab. In a new line of the Console tab, enter the : `angular.element('.unqorkio-form').scope().submission`. This command lets you see the module’s data in a neat JSON format. 1. In Express View, right-click anywhere on the browser’s page. 2. Click **Inspect**. The Inspect panel opens to the right of the page. 3. Click the **Console** tab. 4. Click Get Submissions. This button triggers the **pluginGetSubmissions** Plug-In component. 5. Returning to the Console tab, enter the `angular.element('.unqorkio-form').scope().submission` command. You’ll notice a new nested array displays in the DevTools Console. An array is a collection of ordered data sets. Arrays have a numbered index that starts at [0]. Because this is a nested array, you must expand the data sets to view the submission details. 1. Expand the **data:** drop-down section. 2. Expand the **data:** drop-down section. 3. Click the Property ID of the API’s Plug-In component. In this example, its **pluginGetSubmissions**. 4. Select a submission. They're numbered starting at **[0]**. 5. Expand the ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CaretDown_black_icon.png?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) **data:** drop-down section. 6. Expand the ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CaretDown_black_icon.png?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) **rawData:** drop-down section to see the submission data. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/InternalAPI_Read_Express_03_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) ## List Submissions for Dashboard API The **List Submissions for Dashboard** API call is similar to the Get Module Submissions call. You’ll use it to retrieve [submission data](/v1/docs/submission-data) and display it in a dashboard. ## Review the List Submissions for Dashboard API Configuration To help explain how the List Submissions for Dashboard API works, we've configured a module and [Plug-In](/v1/docs/plug-in-component) component that uses this API call. The following sections explore the configuration and let you test the API. > [!CAUTION] > Feel free to use the configuration created here for your own builds. But, please do **not** reconfigure the modules. If you want to use the configuration, make a copy of the module and paste it in your application. ### Review the pluginGetSubmissionsForDashboard Plug-In Component Let's take a closer look at the necessary [Plug-In](/v1/docs/plug-in-component) component configuration and settings to make the API work. 1. Open the preconfigured module in the Module Builder by clicking the following link: [https://training.unqork.io/#/form/64cbebaf9ee30a59c4322f0d/edit](https://training.unqork.io/#/form/64cbebaf9ee30a59c4322f0d/edit). 2. Hover over the **pluginGetSubmissionsForDashboard** Plug-In component. A 4-button toolbar displays above the component on hover-over. 3. Using the toolbar, click the ![AppBuildButton_Settings.jpg](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/AppBuildButton_Settings(52).jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D)(**Settings**) button. 4. Review the following settings: #### Internal Services From the **Internal Services** drop-down, you'll see that the `List Submissions for Dashboard` API is selected. Once selected, the **Data Source URL** auto-populates with `/fbu/uapi/system/getSubmissions`. You’ll notice this call’s Data Source URL does not reference a module ID. With this call, you must enter the module ID in the **Inputs** table of the Plug-In component. > To learn more about the List Submissions for Dashboard API, click the **Learn More** button in the Plug-In component's configuration window. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/internalRead_plugInGetSubsDashboard_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) #### Request Type The **Request Type** is also set to GET. The type is used to retrieve data. #### Inputs Lastly, the **Inputs** table inputs the stored submission data from the **moduleId** **H****idden** component. Then, it inputs the specific fields in the submission data and sorts by the created field. For this call to work, you must specify the submission data or metadata you want returned. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/internalRead_plugInGetSubsDashboardInputs_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) ### Review the dwfOutput Data Workflow Component The **dwfOutput** **D****ata Workflow** contains a simple configuration. It inputs the **pluginGetSubmissionsForDashboard** Plug-In component and outputs it into the **listSubmissionsResponse** **H****idden** component. That way, the [ViewGrid](/v1/docs/viewgrid-component) component can retrieve the submission data from the Hidden component and display it.![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/internalRead_dwfCanvas_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) ### Review the vgSubmissionsResponse ViewGrid Component A [ViewGrid](/v1/docs/viewgrid-component) component is a great way to display submission data in a dashboard. The **vgSubmissionsResponse ViewGrid** component inputs the submission data from the **listSubmissionsResponse** **H****idden** component and displays the specific data fields in a grid.![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/internalRead_viewGrid_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) ## Test the List Submissions for Dashboard API Now, let's preview the module and test the configuration. 1. **Preview** the preconfigured module in Express View. 2. In Express View, right-click anywhere on the page. 3. Click **Inspect**. The Inspect panel opens to the right of the page. 4. Click the **Console** tab. 5. Click **List Submissions for Dashboard**. This button triggers the **pluginGetSubmissionsForDashboard** Plug-In component. 6. Return to the Console tab and enter the `angular.element('.unqorkio-form').scope().submission` command. 7. Like you did with the Get Module Submissions example, expand the call’s data. You'll find the data for this call under **pluginGetSubmissionsForDashboard**. You’ll notice that these submissions are also listed in an array that starts at index **[0]**. When you expand an index, you’ll see all the call’s data. You don’t need to expand further into the data like you did for the Get Module Submissions call.![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/InternalAPI_Read_Express_04_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T20%3A53%3A45Z&se=2026-11-07T21%3A53%3A45Z&sr=c&sp=r&sig=TMoB4lui2Oy1IU780zwG9ibUvmAgWw1QQ6wcICbkT48%3D) ## Resources - [Introduction to Unqork's Internal API](/v1/docs/introduction-to-unqorks-internal-api) - [Unqork's Internal API: Create APIs](/v1/docs/unqorks-internal-api-create-apis) - [Unqork's Internal API: Delete APIs](/v1/docs/unqorks-internal-api-delete-apis) - [Unqork's Internal API: Update APIs](/v1/docs/unqorks-internal-api-update-apis) CRUD refers to the four critical operations for creating and managing data elements in your applications. It stands for create, read, update, and delete. APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. Express View is how your end-user views your application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View. The DevTools Console helps you securely store, build, test, and deploy your software. A URL (uniform resource locator) is a unique identifier used to locate a resource on the internet. Also known as a web address. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data. A Property ID is the unique field ID used by Unqork to track and link components in your module. Also known as Record Data. Submission data consists of information saved by Unqork components. View submission data by using the angular command, or in Record Collections.