---
title: Data requirements and limits for custom event data
source: https://docs.newrelic.com/docs/data-apis/custom-data/custom-events/data-requirements-limits-custom-event-data
---

This document contains general requirements and rules for inserting and using custom events and their associated [attributes](https://docs.newrelic.com/docs/using-new-relic/welcome-new-relic/get-started/glossary#attribute). Additional requirements may apply based on the method you use.

You can report custom [events](https://docs.newrelic.com/docs/using-new-relic/data/understand-data/new-relic-data-types#events-new-relic) to New Relic in several ways, including:

-   [APM agent APIs](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents)
-   [Event API](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/send-custom-events-event-api) (There are additional requirements when using the Event API.)
-   [Agent APIs and browser monitoring](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/insert-data-via-new-relic-browser) (There are additional requirements with the custom `PageAction` event.)
-   [Mobile monitoring SDK](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-events/insert-custom-events-attributes-mobile-data)

## General requirements [#general]

When reporting custom events and attributes, follow these general requirements for supported data types, naming syntax, and size:

| Requirement                             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Payload                                 | Total maximum size or length: **1MB (10^6 bytes) maximum per POST**. We highly recommend using compression. The payload must be encoded as **UTF-8**. The Event API has additional [HTTP rate limits](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/send-custom-events-event-api#post-limit).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Attribute data types                    | [Attribute](https://docs.newrelic.com/docs/using-new-relic/welcome-new-relic/get-started/glossary#attribute) values can be either a string or a numeric integer or float. For information about formatting date and time data, see [Custom date/time](https://docs.newrelic.com/docs/query-your-data/explore-query-data/use-charts/use-your-charts/#custom-date-time).                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Attribute limits                        | Maximum length of attribute name: 255 characters. Maximum length of custom attribute values: - For events sent via [Event API](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/send-custom-events-event-api): 4096 characters - For events sent via agents: 255 characters Maximum total attributes per event: 254. **Exception:** If you use an APM agent API, the max is 64. Maximum total attributes per event type: 48,000. > #### ⚠️ IMPORTANT > > Charts may only display the first 255 characters of attribute values. For complete attribute values, use the [JSON chart type](https://docs.newrelic.com/docs/insights/use-insights-ui/manage-dashboards/chart-types#widget-json) or [Query API](https://docs.newrelic.com/docs/insights/insights-api/get-data/query-insights-event-data-api). |
| Naming syntax for events and attributes | Event names can be a combination of alphanumeric characters, colons (`:`), and underscores (`_`). Attribute names can include those as well as periods (`.`) and forward slashes (`/`). We recommend starting names with a letter: if it starts with something else, you'll need to put backticks around the name when querying. For more on when backticks are required in a query, see [NRQL reference](https://docs.newrelic.com/docs/query-your-data/nrql-new-relic-query-language/get-started/introduction-nrql-how-nrql-works/#syntax). Do not use [words reserved for use by NRQL](#reserved-words). Maximum length of event name: 255 characters.                                                                                                                                                                        |
| Null values                             | The database does not store any data with a null value.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |

## Reserved words [#reserved-words]

Avoid using the following reserved words as names for events and attributes. Otherwise, unexpected results may occur.

> #### ⚠️ IMPORTANT
>
> This is not a complete list. In general, avoid using [MySQL-reserved words](https://dev.mysql.com/doc/refman/5.5/en/keywords.html) to avoid collision with future New Relic functionality.

| **Keyword**                   | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `accountId`                   | This is a reserved [attribute](https://docs.newrelic.com/docs/using-new-relic/welcome-new-relic/get-started/glossary#attribute) name. If it's included, it will be dropped during ingest.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `appId`                       | Value must be an integer. If it is not an integer, the attribute name and value will be dropped during ingest.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `eventType`                   | The event type as stored in New Relic. New Relic agents and scripts normally report this as `eventType`. Can be a combination of alphanumeric characters, colons (`:`), and underscores (`_`). Be sure to review the [prohibited `eventType` values](#prohibited-eventType) and [`eventType` limits](#event-limits).                                                                                                                                                                                                                                                                                                                                                                             |
| Prohibited `eventType` values | For your `eventType` value, avoid using: - `Metric`, `MetricRaw`, and strings prefixed with `Metric[0-9]` (such as `Metric2` or `Metric1Minute`). - `Entity`, `EntityUpdate`, and strings prefixed with `Entity[0-9]` (such as `Entity2` or `Entity1HOUR`). - `EntityRelationship`, `RelationshipUpdate`, and strings prefixed with `Relationship[0-9]` (such as `Relationship2` or `Relationship1HOUR`) - `Public_` and strings prefixed with `Public_`. These event types are reserved for use by New Relic. Events passed in with these `eventType` values will be dropped.                                                                                                                   |
| `timestamp`                   | Must be a Unix epoch timestamp. You can define timestamps either in seconds or in milliseconds. It must be +/-1 day (24 hours) of the current time on the server.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Log forwarding terms          | The following keys are reserved by the infrastructure agent's log forwarding feature: `entity.guid`, log, `hostname`, `plugin.type`, `fb.input`. If used, they are dropped during ingest and a warning is added to the logs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| NRQL syntax terms             | If you need to use [NRQL](https://docs.newrelic.com/docs/query-data/nrql-new-relic-query-language/getting-started/introduction-nrql) syntax terms as attribute names, including dotted attributes, they must be enclosed in backticks; for example, `` `LIMIT` `` or `` `consumer.offset` ``. Otherwise, avoid using these reserved words: `ago`, `and`, `as`, `auto`, `begin`, `begintime`, `compare`, `day`, `days`, `end`, `endtime`, `explain`, `facet`, `from`, `hour`, `hours`, `in`, `is`, `like`, `limit`, `minute`, `minutes`, `month`, `months`, `not`, `null`, `offset`, `or`, `raw`, `second`, `seconds`, `select`, `since`, `timeseries`, `until`, `week`, `weeks`, `where`, `with` |

## Event type limits [#event-limits]

The current limit for total number of `eventType` values is 250 per account (not per organization) in a given 24-hour time period. If an account exceeds this limit, New Relic may filter or drop data. Event types include:

-   Default events from New Relic agents and integrations
-   Custom events from agents or
-   Custom events from Event API
