# Difference between "getParameterValues" and "projection" to fetch parameter values?

**URL:** <https://forum.genieacs.com/t/difference-between-getparametervalues-and-projection-to-fetch-parameter-values/6873>\
**Category:** Uncategorized\
**Created:** [May 20, 2025, 9:40am UTC](https://forum.genieacs.com/t/difference-between-getparametervalues-and-projection-to-fetch-parameter-values/6873 "2025-05-20T09:40:22Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![raylen](https://avatars.discourse-cdn.com/v4/letter/r/bcef8e/32.png) [@raylen](https://forum.genieacs.com/u/raylen)\
**Post date:** [May 20, 2025, 9:40am UTC](https://forum.genieacs.com/t/difference-between-getparametervalues-and-projection-to-fetch-parameter-values/6873/1 "2025-05-20T09:40:22Z")

</div>

Hello everyone, can someone please explain me the difference between these two different ways to fetch/get parameter values?

1: **`getParameterValues`**

query = { “name”: “getParameterValues”, “parameterNames”: [“InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnectionNumberOfEntries”, “InternetGatewayDevice.Time.NTPServer1”, “InternetGatewayDevice.Time.Status”] }

curl -i ‘[http://localhost:7557/devices/00236a-96318REF-SR360NA0A4%252D0003196/tasks?timeout=3000&connection\_request](http://localhost:7557/devices/00236a-96318REF-SR360NA0A4%252D0003196/tasks?timeout=3000&connection_request)’   
-X POST   
–data ‘{“name”: “getParameterValues”, “parameterNames”: [“InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnectionNumberOfEntries”, “InternetGatewayDevice.Time.NTPServer1”, “InternetGatewayDevice.Time.Status”] }’

2: **Using `projection` to return specific parameters for a given device:**

query = {“\_id”: “202BC1-BM632w-000000”}

curl -i ‘[http://localhost:7557/devices?query={“\_id”%3A"202BC1-BM632w-000000"}&projection=InternetGatewayDevice.DeviceInfo.ModelName,InternetGatewayDevice.DeviceInfo.Manufacturer](http://localhost:7557/devices?query=%7B%22_id%22%3A%22202BC1-BM632w-000000%22%7D&projection=InternetGatewayDevice.DeviceInfo.ModelName,InternetGatewayDevice.DeviceInfo.Manufacturer)’

The `projection` URL param is a comma-separated list of the parameters to receive.

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [May 20, 2025, 4:42pm UTC](https://forum.genieacs.com/t/difference-between-getparametervalues-and-projection-to-fetch-parameter-values/6873/2 "2025-05-20T16:42:12Z")

</div>

The first one tells the ACS to refresh the `InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnectionNumberOfEntries`, `InternetGatewayDevice.Time.NTPServer1` and `InternetGatewayDevice.Time.Status` parameters from the CPE.

The second is used for querying data from the ACS. Without a projection, the entire data model for the target device will be returned. Most of the time, thats way more than you need. So you can use a projection to limit the data returned to just the parameters you care about.

---

<div class="post-metadata">

**Author:** ![raylen](https://avatars.discourse-cdn.com/v4/letter/r/bcef8e/32.png) [@raylen](https://forum.genieacs.com/u/raylen)\
**Post date:** [May 20, 2025, 5:32pm UTC](https://forum.genieacs.com/t/difference-between-getparametervalues-and-projection-to-fetch-parameter-values/6873/3 "2025-05-20T17:32:59Z")

</div>

If that’s the case, how is `getParameterValues` different from using `refreshObject`?

For example:  
curl -i ‘[http://localhost:7557/devices/00236a-SR552n-SR552NA084%252D0003269/tasks?timeout=3000&connection\_request](http://localhost:7557/devices/00236a-SR552n-SR552NA084%252D0003269/tasks?timeout=3000&connection_request)’   
-X POST   
–data ‘{“name”: “refreshObject”, “objectName”: “InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnectionNumberOfEntries”}’

Does `refreshObject` effectively perform the same action as the parameter refresh you mentioned, or is there a key distinction between them?

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [May 20, 2025, 5:44pm UTC](https://forum.genieacs.com/t/difference-between-getparametervalues-and-projection-to-fetch-parameter-values/6873/4 "2025-05-20T17:44:17Z")

</div>

i’m not 100% honestly. I never use refreshObject, only GPN/GPV/SPV.

---

<div class="post-metadata">

**Author:** ![raylen](https://avatars.discourse-cdn.com/v4/letter/r/bcef8e/32.png) [@raylen](https://forum.genieacs.com/u/raylen)\
**Post date:** [May 24, 2025, 1:09pm UTC](https://forum.genieacs.com/t/difference-between-getparametervalues-and-projection-to-fetch-parameter-values/6873/5 "2025-05-24T13:09:30Z")

</div>

And what does “getParameterNames” do? As there is nothing mentioned in the docs.

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [May 27, 2025, 4:17pm UTC](https://forum.genieacs.com/t/difference-between-getparametervalues-and-projection-to-fetch-parameter-values/6873/6 "2025-05-27T16:17:11Z")

</div>

Try google. The information is out there.
