---
title: "Get events by event handle"
method: GET
path: "/accounts/{address}/events/{event_handle}/{field_name}"
tags: ["Events"]
---

# Get events by event handle

`GET /accounts/{address}/events/{event_handle}/{field_name}`

## Request

- Base URL: `/v1` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/v1/accounts/{address}/events/{event_handle}/{field_name}`
- Auth: none declared

This API uses the given account `address`, `eventHandle`, and `fieldName`
to build a key that can globally identify an event types. It then uses this
key to return events emitted to the given account matching that event type.

## Path parameters

- `address` string, hex, required: A hex encoded 32 byte Lumio account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
- `event_handle` string, required: String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::lumio_coin::LumioCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://lumio.dev/concepts/accounts) for more details.
- `field_name` string, required

## Query parameters

- `start` string, uint64: A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
- `limit` integer

## Response `200`

- VersionedEvent[]
  - `version` string, uint64, required: A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
  - `guid` EventGuid, required
    - `creation_number` string, uint64, required: A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `account_address` string, hex, required: A hex encoded 32 byte Lumio account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
  - `sequence_number` string, uint64, required: A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
  - `type` string, required: String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u16 - u32 - u64 - u128 - u256 - address - signer - vector: `vector<{non-reference MoveTypeId}>` - struct: `{address}::{module_name}::{struct_name}::<{generic types}>` Vector type value examples: - `vector<u8>` - `vector<vector<u64>>` - `vector<0x1::coin::CoinStore<0x1::lumio_coin::LumioCoin>>` Struct type value examples: - `0x1::coin::CoinStore<0x1::lumio_coin::LumioCoin> - `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).
  - `data` unknown, required

## Other responses

- `400`
- `403`
- `404`
- `410`
- `500`
- `503`

## Changes

> 50 revisions in range; 9 not diffed.

- **2025-10-09** `5bfbbc5f3ce7`: 7 breaking, 50 warning
  - the mandatory response header `X-APTOS-BLOCK-HEIGHT` removed for the status `200`
  - the mandatory response header `X-APTOS-CHAIN-ID` removed for the status `200`
  - the mandatory response header `X-APTOS-EPOCH` removed for the status `200`
  - the mandatory response header `X-APTOS-LEDGER-OLDEST-VERSION` removed for the status `200`
  - …53 more
- **2025-06-17** `6a8502f67ac1`: 6 warning
  - added the new `rejected_by_filter` enum value to the `error_code` response property for the response status `400`
  - added the new `rejected_by_filter` enum value to the `error_code` response property for the response status `403`
  - added the new `rejected_by_filter` enum value to the `error_code` response property for the response status `404`
  - added the new `rejected_by_filter` enum value to the `error_code` response property for the response status `410`
  - …2 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/pontem-network/apis/lumio-node-api/changes/accounts/:address/events/:event_handle/:field_name/get.md)

---

[API](https://skmtc.dev/pontem-network/apis/lumio-node-api.md) - [All operations](https://skmtc.dev/pontem-network/apis/lumio-node-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pontem-network/apis/lumio-node-api/revisions/385d1aaf056f?raw)
