Black Friday 30% off your first year on any yearly plan with BF2026 until Dec 1Claim deal


List event properties

Returns the property names of one or more custom events, e.g. to group or filter by them with the `event:prop:<name>` token.


Method

POST

Path

/v1/events/properties

This endpoint lists the property names of one or more custom events, for example the plan property of a signup event, together with how many events and unique users have each property in the given date range. You can pass up to 25 event names at once, and get back one property list per event, sorted by the number of events that have each property. Events without properties in the period come back with an empty list.

Use the returned names to group by an event property with "groupBy": ["event:prop:<name>"] in the query endpoint, or to filter by it with an event filter. Grouping by a property together with an event filter for the event gives you the users and events per property value (see the “Breakdown of an event property” example there). To find the names of your custom events, use the filter values endpoint with the event:name field.

Examples

Below you can see several examples of how to use this endpoint. Further down this page, you can find a detailed reference of all the available options you can pass.

Copy the JSON body of any of these examples, and use it in a POST request to https://api.vemetric.com/v1/events/properties with your API key.

{
  "eventNames": ["signup"],
  "dateRange": "30days"
}

{
  "eventNames": ["signup", "purchase", "invite_sent"],
  "dateRange": "30days"
}

{
  "eventNames": ["signup"],
  "dateRange": "7days",
  "filters": [
    {
      "type": "location",
      "country": {
        "operator": "oneOf",
        "value": ["DE"]
      }
    }
  ]
}

{
  "eventNames": ["purchase"],
  "dateRange": ["2026-01-01", "2026-01-31"],
  "limit": 50,
  "offset": 50
}

Headers

Authorization

required

Project or organization API key (starts with vem_), created in the project or organization settings on the API tab. Organization keys name the project of each request in the X-Vemetric-Project header.

Example: Bearer vem_xxxxxxxxxxxx

X-Vemetric-Project

optional

ID of the project the request is about. Required for organization keys; optional for project keys (must be the key's project if sent).

Example: 1234567890123456

Request Body (required)

application/json object

eventNames

* required
Description
Names of the custom events to list the properties of.
Type
array<string>
Example
["signup","purchase"]

dateRange

* required
Description
Can be either one of the preset strings below, or an array with two date strings [start, end]. Date strings can be either in YYYY-MM-DD format or UTC ISO-8601 format with second precision.
Type
"live" | "1hr" | "24hrs" | "7days" | "30days" | "3months" | "6months" | "1year" | array<string, string>
Example
["2026-01-01T12:00:00Z","2026-01-31T12:00:00Z"]

filters

Description
Optional filters to only count events matching them.
Type
array<object>
Show nested properties (12)

type: page

Description
Filter based on specific page view properties, like the full URL (origin + path + hash) or its individual parts.
Type
object
Default
"page"
Example
{"type":"page","origin":{"value":"https://example.com","operator":"eq"},"path":{"value":"/blog","operator":"startsWith"}}
Show nested properties (3)

origin

Description
Filter based on the page origin (protocol + host). For example, "https://example.com".
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


path

Description
Filter based on the page path. For example, "/blog".
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


hash

Description
Filter based on the page hash. For example, "#section1".
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"



type: event

Description
Filter by event name and/or event property values.
Type
object
Default
"event"
Example
{"type":"event","name":{"operator":"eq","value":"signup"},"properties":[{"property":"plan","operator":"eq","value":"pro"}]}
Show nested properties (2)

name

Description
Filter by event name.
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


properties

Description
Filter by one or more custom event properties.
Type
array<object>
Show nested properties (3)

property

* required
Description
Event property key inside custom event data.
Type
string
Example
"provider"

value

* required
Description
Event property value to compare against.
Type
string
Example
"github"

operator

* required
Description
String matching operator for value.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"
Example
"eq"



type: user

Description
Ability to filter for either anonymous or identified users. This is useful when you want to include only known users (for example, for a retention analysis) or only anonymous users (for example, to analyze new visitor behavior).
Type
object
Default
"user"
Example
{"type":"user","anonymous":true}
Show nested properties (1)

anonymous

* required
Description
Filter for anonymous (true) or identified (false) users.
Type
boolean
Example
true


type: location

Description
Filter by geographic location fields.
Type
object
Default
"location"
Example
{"type":"location","country":{"operator":"oneOf","value":["US","DE"]},"city":{"operator":"oneOf","value":["Berlin"]}}
Show nested properties (2)

country

Description
Filter by one or more country codes (ISO-3166 alpha-2, e.g. "US").
Type
object
Show nested properties (2)

value

* required
Description
List of values to filter by
Type
array<string>

operator

* required
Description
Operator to apply for the list filter. The "any" operator means that any value is accepted and effectively disables the filter. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"


city

Description
Filter by one or more city names.
Type
object
Example
{"value":["Berlin","New York"],"operator":"oneOf"}
Show nested properties (2)

value

* required
Description
List of values to filter by
Type
array<string>

operator

* required
Description
Operator to apply for the list filter. The "any" operator means that any value is accepted and effectively disables the filter. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"



type: referrer

Description
Filter by referrer name.
Type
object
Default
"referrer"
Example
{"type":"referrer","operator":"eq","value":"Google"}
Show nested properties (2)

value

* required
Description
Referrer value to match, as returned when grouping by referrer (e.g. "Google"). An empty string matches visits without a referrer and visits from the project's own domain (referrer type internal). For visits without a referrer only, filter by the referrer type none.
Type
string
Example
"Google"

operator

* required
Description
String matching operator for value.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"
Example
"eq"


type: referrerUrl

Description
Filter by referrer URL.
Type
object
Default
"referrerUrl"
Example
{"type":"referrerUrl","operator":"contains","value":"google.com"}
Show nested properties (2)

value

* required
Description
Referrer URL value to match.
Type
string
Example
"https://google.com"

operator

* required
Description
String matching operator for value.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"
Example
"contains"


type: referrerType

Description
Filter by referrer category/type.
Type
object
Default
"referrerType"
Example
{"type":"referrerType","operator":"oneOf","value":["search"]}
Show nested properties (2)

value

* required
Description
List of referrer types to match: none (no referrer: typed in, bookmarks, apps), search, social, llm, email, paid, internal (came from a page on the project's own domain, e.g. a link from your app to your website; direct is accepted as an old name) or unknown (a website or source that isn't in Vemetric's list of known sources; visits without a referrer are none).
Type
array<string>
Example
["search","social"]

operator

* required
Description
List matching operator for value. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"
Example
"oneOf"


type: utmTags

Description
Filter by one or more UTM parameters.
Type
object
Default
"utmTags"
Example
{"type":"utmTags","utmSource":{"operator":"eq","value":"google"},"utmMedium":{"operator":"eq","value":"cpc"}}
Show nested properties (5)

utmCampaign

Description
Filter by UTM campaign.
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


utmContent

Description
Filter by UTM content.
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


utmMedium

Description
Filter by UTM medium.
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


utmSource

Description
Filter by UTM source.
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


utmTerm

Description
Filter by UTM term.
Type
object
Show nested properties (2)

value

* required
Description
Value to filter by
Type
string

operator

* required
Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"



type: browser

Description
Filter by browser.
Type
object
Default
"browser"
Example
{"type":"browser","operator":"oneOf","value":["Chrome"]}
Show nested properties (2)

value

* required
Description
List of browser names to match.
Type
array<string>
Example
["Chrome","Safari"]

operator

* required
Description
List matching operator for value. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"
Example
"oneOf"


type: device

Description
Filter by device type.
Type
object
Default
"device"
Example
{"type":"device","operator":"oneOf","value":["desktop"]}
Show nested properties (2)

value

* required
Description
List of device types to match.
Type
array<string>
Example
["desktop","mobile"]

operator

* required
Description
List matching operator for value. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"
Example
"oneOf"


type: os

Description
Filter by operating system.
Type
object
Default
"os"
Example
{"type":"os","operator":"oneOf","value":["macOS"]}
Show nested properties (2)

value

* required
Description
List of operating system names to match.
Type
array<string>
Example
["macOS","Windows"]

operator

* required
Description
List matching operator for value. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"
Example
"oneOf"


type: funnel

Description
Filter users based on funnel step completion.
Type
object
Default
"funnel"
Example
{"type":"funnel","id":"550e8400-e29b-41d4-a716-446655440000","step":1,"operator":"completed"}
Show nested properties (3)

id

* required
Description
Funnel ID to evaluate for completion status.
Type
string
Example
"550e8400-e29b-41d4-a716-446655440000"

step

* required
Description
Zero-based funnel step index to evaluate.
Type
integer
Example
1

operator

* required
Description
Whether users must have completed or not completed the selected step.
Type
"completed" | "notCompleted"
Example
"completed"



filtersOperator

Description
Operator to apply between multiple filters.
Type
"and" | "or"
Default
"and"

limit

Description
Limits the number of returned properties per event. Max value is 1000.
Type
integer
Default
100

offset

Description
Number of properties to skip per event from the start of the result set, to implement pagination.
Type
integer
Default
0

Responses

200 Success
application/json

period

Description
Type
object

from

Description
Resolved UTC start timestamp for the query window.
Type
string<pattern:^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$>
Example
"2026-01-19T12:30:00Z"

to

Description
Resolved UTC end timestamp for the query window.
Type
string<pattern:^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$>
Example
"2026-01-19T12:30:00Z"


query

Description
Type
object

eventNames

Description
Echo of the incoming eventNames request field.
Type
array<string>

dateRange

Description
Echo of the incoming dateRange request field.
Type
"live" | "1hr" | "24hrs" | "7days" | "30days" | "3months" | "6months" | "1year" | array<string, string>
Example
["2026-01-01T12:00:00Z","2026-01-31T12:00:00Z"]

filters

Description
Echo of the incoming filters request field.
Type
array<object>
Show nested properties (12)

type: page

Description
Filter based on specific page view properties, like the full URL (origin + path + hash) or its individual parts.
Type
object
Default
"page"
Example
{"type":"page","origin":{"value":"https://example.com","operator":"eq"},"path":{"value":"/blog","operator":"startsWith"}}
Show nested properties (3)

origin

Description
Filter based on the page origin (protocol + host). For example, "https://example.com".
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


path

Description
Filter based on the page path. For example, "/blog".
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


hash

Description
Filter based on the page hash. For example, "#section1".
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"



type: event

Description
Filter by event name and/or event property values.
Type
object
Default
"event"
Example
{"type":"event","name":{"operator":"eq","value":"signup"},"properties":[{"property":"plan","operator":"eq","value":"pro"}]}
Show nested properties (2)

name

Description
Filter by event name.
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


properties

Description
Filter by one or more custom event properties.
Type
array<object>
Show nested properties (3)

property

Description
Event property key inside custom event data.
Type
string
Example
"provider"

value

Description
Event property value to compare against.
Type
string
Example
"github"

operator

Description
String matching operator for value.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"
Example
"eq"



type: user

Description
Ability to filter for either anonymous or identified users. This is useful when you want to include only known users (for example, for a retention analysis) or only anonymous users (for example, to analyze new visitor behavior).
Type
object
Default
"user"
Example
{"type":"user","anonymous":true}
Show nested properties (1)

anonymous

Description
Filter for anonymous (true) or identified (false) users.
Type
boolean
Example
true


type: location

Description
Filter by geographic location fields.
Type
object
Default
"location"
Example
{"type":"location","country":{"operator":"oneOf","value":["US","DE"]},"city":{"operator":"oneOf","value":["Berlin"]}}
Show nested properties (2)

country

Description
Filter by one or more country codes (ISO-3166 alpha-2, e.g. "US").
Type
object
Show nested properties (2)

value

Description
List of values to filter by
Type
array<string>

operator

Description
Operator to apply for the list filter. The "any" operator means that any value is accepted and effectively disables the filter. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"


city

Description
Filter by one or more city names.
Type
object
Example
{"value":["Berlin","New York"],"operator":"oneOf"}
Show nested properties (2)

value

Description
List of values to filter by
Type
array<string>

operator

Description
Operator to apply for the list filter. The "any" operator means that any value is accepted and effectively disables the filter. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"



type: referrer

Description
Filter by referrer name.
Type
object
Default
"referrer"
Example
{"type":"referrer","operator":"eq","value":"Google"}
Show nested properties (2)

value

Description
Referrer value to match, as returned when grouping by referrer (e.g. "Google"). An empty string matches visits without a referrer and visits from the project's own domain (referrer type internal). For visits without a referrer only, filter by the referrer type none.
Type
string
Example
"Google"

operator

Description
String matching operator for value.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"
Example
"eq"


type: referrerUrl

Description
Filter by referrer URL.
Type
object
Default
"referrerUrl"
Example
{"type":"referrerUrl","operator":"contains","value":"google.com"}
Show nested properties (2)

value

Description
Referrer URL value to match.
Type
string
Example
"https://google.com"

operator

Description
String matching operator for value.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"
Example
"contains"


type: referrerType

Description
Filter by referrer category/type.
Type
object
Default
"referrerType"
Example
{"type":"referrerType","operator":"oneOf","value":["search"]}
Show nested properties (2)

value

Description
List of referrer types to match: none (no referrer: typed in, bookmarks, apps), search, social, llm, email, paid, internal (came from a page on the project's own domain, e.g. a link from your app to your website; direct is accepted as an old name) or unknown (a website or source that isn't in Vemetric's list of known sources; visits without a referrer are none).
Type
array<string>
Example
["search","social"]

operator

Description
List matching operator for value. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"
Example
"oneOf"


type: utmTags

Description
Filter by one or more UTM parameters.
Type
object
Default
"utmTags"
Example
{"type":"utmTags","utmSource":{"operator":"eq","value":"google"},"utmMedium":{"operator":"eq","value":"cpc"}}
Show nested properties (5)

utmCampaign

Description
Filter by UTM campaign.
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


utmContent

Description
Filter by UTM content.
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


utmMedium

Description
Filter by UTM medium.
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


utmSource

Description
Filter by UTM source.
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


utmTerm

Description
Filter by UTM term.
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals. "any" means no restriction and also matches users without a value; to require a value, use "notEq" with an empty string.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"



type: browser

Description
Filter by browser.
Type
object
Default
"browser"
Example
{"type":"browser","operator":"oneOf","value":["Chrome"]}
Show nested properties (2)

value

Description
List of browser names to match.
Type
array<string>
Example
["Chrome","Safari"]

operator

Description
List matching operator for value. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"
Example
"oneOf"


type: device

Description
Filter by device type.
Type
object
Default
"device"
Example
{"type":"device","operator":"oneOf","value":["desktop"]}
Show nested properties (2)

value

Description
List of device types to match.
Type
array<string>
Example
["desktop","mobile"]

operator

Description
List matching operator for value. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"
Example
"oneOf"


type: os

Description
Filter by operating system.
Type
object
Default
"os"
Example
{"type":"os","operator":"oneOf","value":["macOS"]}
Show nested properties (2)

value

Description
List of operating system names to match.
Type
array<string>
Example
["macOS","Windows"]

operator

Description
List matching operator for value. To require a value, use "noneOf" with [""].
Type
"any" | "oneOf" | "noneOf"
Example
"oneOf"


type: funnel

Description
Filter users based on funnel step completion.
Type
object
Default
"funnel"
Example
{"type":"funnel","id":"550e8400-e29b-41d4-a716-446655440000","step":1,"operator":"completed"}
Show nested properties (3)

id

Description
Funnel ID to evaluate for completion status.
Type
string
Example
"550e8400-e29b-41d4-a716-446655440000"

step

Description
Zero-based funnel step index to evaluate.
Type
integer
Example
1

operator

Description
Whether users must have completed or not completed the selected step.
Type
"completed" | "notCompleted"
Example
"completed"



filtersOperator

Description
Echo of the incoming filtersOperator request field.
Type
"and" | "or"

limit

Description
Echo of the incoming limit request field.
Type
integer

offset

Description
Echo of the incoming offset request field.
Type
integer


data

Description
One property list per requested event, in the order of eventNames.
Type
array<object>

eventName

Description
Event name this property list belongs to.
Type
string
Example
"signup"

pagination

Description
Type
object
Show nested properties (3)

limit

Description
Applied page size for this event.
Type
integer

offset

Description
Applied page offset for this event.
Type
integer

returned

Description
Number of properties returned for this event.
Type
integer


properties

Description
Properties of the event, sorted by the number of events that have them (descending). Empty if the event has no properties in the period.
Type
array<object>
Show nested properties (3)

name

Description
Property name. Group or filter by it with the event:prop:<name> token.
Type
string
Example
"plan"

events

Description
Number of events in the period that have this property.
Type
integer
Example
312

users

Description
Number of unique users that sent an event with this property.
Type
integer
Example
280



400 Bad request - invalid request payload or parameters, or an organization key without the X-Vemetric-Project header
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code. HTTP_ERROR is returned for a malformed JSON body, PROJECT_REQUIRED for an organization key without the X-Vemetric-Project header.
Type
"VALIDATION_ERROR" | "HTTP_ERROR" | "PROJECT_REQUIRED"

message

Description
Human-readable error message.
Type
string

details

Description
Per-field validation issues. Only present for VALIDATION_ERROR.
Type
array<object>
Show nested properties (2)

field

Description
Path to the invalid request field.
Type
string
Example
"groupBy.0"

message

Description
Validation error message for the field.
Type
string



401 Unauthorized - missing, malformed, invalid or revoked API key
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code.
Type
"UNAUTHORIZED"

message

Description
Human-readable error message.
Type
string


403 Requested date range is not allowed for the current plan
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code.
Type
"PLAN_LIMIT_EXCEEDED"

message

Description
Human-readable error message.
Type
string


404 Project was not found or is not covered by the API key
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code.
Type
"PROJECT_NOT_FOUND"

message

Description
Human-readable error message.
Type
string


429 Rate limit exceeded - retry after the number of seconds in the Retry-After header
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code.
Type
"RATE_LIMIT_EXCEEDED"

message

Description
Human-readable error message.
Type
string


500 Unexpected internal error
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code.
Type
"INTERNAL_ERROR"

message

Description
Human-readable error message.
Type
string


Ready to understand your users?

Start tracking
Pricing About Documentation Customers Changelog Blog