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

# Get events by event handle

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

This API extracts event key from the account resource identified
by the `event_handle_struct` and `field_name`, then returns
events identified by the event key.

## Path parameters

- `address` string, address, required — Hex-encoded 16 bytes Aptos account address. Prefixed with `0x` and leading zeros are trimmed. See [doc](https://diem.github.io/move/address.html) for more details.
- `event_handle_struct` string, move_type, required — String representation of an on-chain Move struct type. It is a combination of: 1. `Move module address`, `module name` and `struct name` joined by `::`. 2. `struct generic type parameters` joined by `, `. Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `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://diem.github.io/move/structs-and-resources.html) for more details.
- `field_name` string, required

## Query parameters

- `start` integer
- `limit` integer

## Response `200`

Returns events

- Event[]
  - `key` string, hex, required — Event key is a global index for an event stream. It is hex-encoded BCS bytes of `EventHandle` `guid` field value, which is a combination of a `uint64` creation number and account address (without trimming leading zeros). For example, event key `0x00000000000000000000000000000000000000000a550c18` is combined by the following 2 parts: 1. `0000000000000000`: `uint64` representation of `0`. 2. `0000000000000000000000000a550c18`: 16 bytes of account address.
  - `sequence_number` string, uint64, required — Event `sequence_number` is unique id of an event in an event stream. Event `sequence_number` starts from 0 for each event key.
  - `type` string, required — String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u64 - u128 - 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::aptos_coin::AptosCoin>>` Struct type value examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin> * `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` string, required — Move `bool` type value is serialized into `boolean`. Move `u8` type value is serialized into `integer`. Move `u64` and `u128` type value is serialized into `string`. Move `address` type value(16 bytes Aptos account address) is serialized into hex-encoded string, which is prefixed with `0x` and leading zeros are trimmed. For example: * `0x1` * `0x1668f6be25668c1a17cd8caf6b8d2f25` Move `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into hex-encoded string with `0x` prefix. For example: * `vector<u64>{255, 255}` => `["255", "255"]` * `vector<u8>{255, 255}` => `0xffff` Move `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section): ```json { field1_name: field1_value, field2_name: field2_value, ...... } ``` For example: `{ "created": "0xa550c18", "role_id": "0" }` **Special serialization for Move stdlib types:** * [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/language/move-stdlib/docs/ascii.md) is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"hello world"}` is serialized as `"hello world"` in JSON.

## Other responses

- `400` — Bad request due to a client error: invalid request headers, parameters or body. Client should not retry the request without modification.
- `404` — Resource or data not found. Client may retry the request if it is waiting for transaction execution or ledger synchronization.
- `500` — Server internal error, caused by unexpected issues.

---

[API](https://skmtc.dev/apscan/apis/aptos-dev-api-specification.md) · [All operations](https://skmtc.dev/apscan/apis/aptos-dev-api-specification/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/apscan/aptos-dev-api-specification/revisions/45caa72817c2/schema)
