> For the complete documentation index, see [llms.txt](https://user.netmera.com/netmera-developer-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/application-data.md).

# Application Data

The Application Data endpoints return read-only information about your Netmera application itself rather than about individual users: the profile attributes defined for the app and the event definitions in your event schema. Use them to keep an external system in sync with the panel configuration, to discover attribute codes before calling `setProfileAttributes`, or to look up event codes before calling `fireEvents`. All endpoints require the `X-netmera-api-key` header described in [Setup](/netmera-developer-guide/api-documentation/rest-api/setup.md).

## Profile Attribute Definitions

**Endpoint:** `GET /rest/3.0/app/profile-attributes`\
Lists the profile attributes defined for your application. `standardProfileAttributes` contains the built-in attributes that are in use; `customProfileAttributes` contains the attributes you created in the panel.

```json
curl -X GET https://restapi.netmera.com/rest/3.0/app/profile-attributes \
  -H "X-netmera-api-key: your_rest_api_key"
```

**Sample response**

```json
{
  "standardProfileAttributes": [
    {
      "code": "email",
      "dataType": "STRING",
      "name": "email",
      "label": "Email",
      "locked": true,
      "array": false,
      "privateInfo": true,
      "mandatory": false,
      "recommRequired": false,
      "order": 0,
      "calculated": false
    }
  ],
  "customProfileAttributes": [
    {
      "code": "favoriteTeam",
      "dataType": "STRING",
      "name": "favoriteTeam",
      "description": "The team the user follows",
      "label": "Favorite Team",
      "locked": false,
      "array": false,
      "privateInfo": false,
      "mandatory": false,
      "recommRequired": false,
      "createDate": 1767225600000,
      "updateDate": 1767225600000,
      "order": 3,
      "calculated": false
    }
  ]
}
```

#### Response Fields

<table><thead><tr><th width="202">Field</th><th>Description</th></tr></thead><tbody><tr><td>code</td><td>Attribute code. Use it as the key in <code>profile</code> objects of the profile attribute endpoints.</td></tr><tr><td>dataType</td><td>Value type, e.g. <code>STRING</code>, <code>INT</code>, <code>LONG</code>, <code>DOUBLE</code>, <code>BOOLEAN</code>, <code>DATE</code>, <code>TIME_STAMP</code>.</td></tr><tr><td>name / label / description</td><td>Display information as defined in the panel.</td></tr><tr><td>locked</td><td><code>true</code> for built-in attributes that cannot be edited.</td></tr><tr><td>array</td><td><code>true</code> when the attribute holds a list of values (see <code>pushProfileAttributes</code> / <code>pullProfileAttributes</code>).</td></tr><tr><td>privateInfo</td><td><code>true</code> when the attribute is marked as private information.</td></tr><tr><td>mandatory</td><td>Whether the attribute is marked mandatory.</td></tr><tr><td>options</td><td>Allowed values for attributes that have a fixed option list (omitted otherwise).</td></tr><tr><td>unit</td><td>Unit of measurement, when defined.</td></tr><tr><td>createDate / updateDate</td><td>Epoch timestamps in milliseconds.</td></tr></tbody></table>

Fields that have no value are omitted from the response.

## Event Definitions

**Endpoint:** `GET /rest/3.0/app/events`\
Lists the event definitions of your application. `standardEvents` contains the built-in events that are exposed to your app; `customEvents` contains the events you defined in the panel. Each definition includes its own attributes and the attributes inherited from its base event.

```json
curl -X GET https://restapi.netmera.com/rest/3.0/app/events \
  -H "X-netmera-api-key: your_rest_api_key"
```

**Sample response**

```json
{
  "standardEvents": [
    {
      "code": "n:vw",
      "eventName": "ScreenViewEvent",
      "label": "Screen View",
      "standardEvent": true,
      "attributeDefinitions": [
        {
          "code": "ep",
          "dataType": "STRING",
          "name": "pageName",
          "label": "Page Name",
          "locked": true,
          "array": false,
          "privateInfo": false,
          "mandatory": false,
          "recommRequired": false,
          "order": 0,
          "calculated": false
        }
      ],
      "inheritedAttributes": []
    }
  ],
  "customEvents": [
    {
      "code": "ShareEvent",
      "eventName": "ShareEvent",
      "label": "Share",
      "eventDescription": "User shared an item",
      "standardEvent": false,
      "attributeDefinitions": [
        {
          "code": "itemId",
          "dataType": "STRING",
          "name": "itemId",
          "label": "Item Id",
          "locked": false,
          "array": false,
          "privateInfo": false,
          "mandatory": true,
          "recommRequired": false,
          "order": 0,
          "calculated": false
        }
      ],
      "inheritedAttributes": []
    }
  ]
}
```

#### Response Fields

<table><thead><tr><th width="202">Field</th><th>Description</th></tr></thead><tbody><tr><td>code</td><td>Event code used when firing the event through <code>fireEvents</code>.</td></tr><tr><td>eventName / label / eventDescription</td><td>Display information as defined in the panel.</td></tr><tr><td>baseEventCode</td><td>Code of the base event this event extends, when it has one.</td></tr><tr><td>standardEvent</td><td><code>true</code> for built-in events, <code>false</code> for custom events.</td></tr><tr><td>appCategoryId</td><td>Application category the built-in event belongs to, when applicable.</td></tr><tr><td>attributeDefinitions</td><td>Attributes defined directly on this event. Each entry has the same shape as a profile attribute definition above.</td></tr><tr><td>inheritedAttributes</td><td>Attributes inherited from the base event chain.</td></tr></tbody></table>

Fields that have no value are omitted from the response.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://user.netmera.com/netmera-developer-guide/api-documentation/rest-api/application-data.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
