---
title: "Get migrations"
method: GET
path: "/v1/operations/migrations"
tags: ["Operations"]
---

# Get migrations

`GET /v1/operations/migrations`

Returns a list of migration operations (synthetic type).

## Query parameters

- `account` AccountParameter
  - `eq` string, nullable — **Equal** filter mode (optional, i.e. `param.eq=123` is the same as `param=123`). \ Specify a `tz` or `KT` address to get items where the specified field is equal to the specified value. Example: `?sender=tz1WnfXMPaNTBmH7DBPwqCWs9cPDJdkGBTZ8`.
  - `ne` string, nullable — **Not equal** filter mode. \ Specify a `tz` or `KT` address to get items where the specified field is not equal to the specified value. Example: `?sender.ne=tz1WnfXMPaNTBmH7DBPwqCWs9cPDJdkGBTZ8`.
  - `in` string[], nullable — **In list** (any of) filter mode. \ Specify a comma-separated list of addresses to get items where the specified field is equal to one of the specified values. Example: `?sender.in=tz1WnfXMPaNTBWnfXMPaNTBWnfXMPaNTBNTB,tz1SiPXX4MYGNJNDSiPXX4MYGNJNDSiPXX4M`.
  - `ni` string[], nullable — **Not in list** (none of) filter mode. \ Specify a comma-separated list of addresses to get items where the specified field is not equal to all the specified values. Example: `?sender.ni=tz1WnfXMPaNTBWnfXMPaNTBWnfXMPaNTBNTB,tz1SiPXX4MYGNJNDSiPXX4MYGNJNDSiPXX4M`.
  - `eqx` string, nullable — **Equal to another field** filter mode. \ Specify a field name to get items where the specified fields are equal. Example: `?sender.eqx=target`.
  - `nex` string, nullable — **Not equal to another field** filter mode. \ Specify a field name to get items where the specified fields are not equal. Example: `?sender.nex=initiator`.
  - `null` boolean, nullable — **Is null** filter mode. \ Use this mode to get items where the specified field is null or not. Example: `?initiator.null` or `?initiator.null=false`.
- `kind` MigrationKindParameter
  - `eq` string, nullable — **Equal** filter mode (optional, i.e. `param.eq=123` is the same as `param=123`). \ Specify a migration kind to get items where the specified field is equal to the specified value. Example: `?kind=bootstrap`.
  - `ne` string, nullable — **Not equal** filter mode. \ Specify a migration kind to get items where the specified field is not equal to the specified value. Example: `?type.ne=proposal_invoice`.
  - `in` string[], nullable — **In list** (any of) filter mode. \ Specify a comma-separated list of migration kinds to get items where the specified field is equal to one of the specified values. Example: `?sender.in=bootstrap,proposal_invoice`.
  - `ni` string[], nullable — **Not in list** (none of) filter mode. \ Specify a comma-separated list of migration kinds to get items where the specified field is not equal to all the specified values. Example: `?sender.ni=airdrop,bootstrap`.
- `balanceChange` Int64Parameter
  - `eq` integer, nullable — **Equal** filter mode (optional, i.e. `param.eq=123` is the same as `param=123`). \ Specify an integer number to get items where the specified field is equal to the specified value. Example: `?balance=1234`.
  - `ne` integer, nullable — **Not equal** filter mode. \ Specify an integer number to get items where the specified field is not equal to the specified value. Example: `?balance.ne=1234`.
  - `gt` integer, nullable — **Greater than** filter mode. \ Specify an integer number to get items where the specified field is greater than the specified value. Example: `?balance.gt=1234`.
  - `ge` integer, nullable — **Greater or equal** filter mode. \ Specify an integer number to get items where the specified field is greater than equal to the specified value. Example: `?balance.ge=1234`.
  - `lt` integer, nullable — **Less than** filter mode. \ Specify an integer number to get items where the specified field is less than the specified value. Example: `?balance.lt=1234`.
  - `le` integer, nullable — **Less or equal** filter mode. \ Specify an integer number to get items where the specified field is less than or equal to the specified value. Example: `?balance.le=1234`.
  - `in` integer[], nullable — **In list** (any of) filter mode. \ Specify a comma-separated list of integers to get items where the specified field is equal to one of the specified values. Example: `?level.in=12,14,52,69`.
  - `ni` integer[], nullable — **Not in list** (none of) filter mode. \ Specify a comma-separated list of integers to get items where the specified field is not equal to all the specified values. Example: `?level.ni=12,14,52,69`.
  - `empty` boolean
- `id` Int64Parameter
  - `eq` integer, nullable — **Equal** filter mode (optional, i.e. `param.eq=123` is the same as `param=123`). \ Specify an integer number to get items where the specified field is equal to the specified value. Example: `?balance=1234`.
  - `ne` integer, nullable — **Not equal** filter mode. \ Specify an integer number to get items where the specified field is not equal to the specified value. Example: `?balance.ne=1234`.
  - `gt` integer, nullable — **Greater than** filter mode. \ Specify an integer number to get items where the specified field is greater than the specified value. Example: `?balance.gt=1234`.
  - `ge` integer, nullable — **Greater or equal** filter mode. \ Specify an integer number to get items where the specified field is greater than equal to the specified value. Example: `?balance.ge=1234`.
  - `lt` integer, nullable — **Less than** filter mode. \ Specify an integer number to get items where the specified field is less than the specified value. Example: `?balance.lt=1234`.
  - `le` integer, nullable — **Less or equal** filter mode. \ Specify an integer number to get items where the specified field is less than or equal to the specified value. Example: `?balance.le=1234`.
  - `in` integer[], nullable — **In list** (any of) filter mode. \ Specify a comma-separated list of integers to get items where the specified field is equal to one of the specified values. Example: `?level.in=12,14,52,69`.
  - `ni` integer[], nullable — **Not in list** (none of) filter mode. \ Specify a comma-separated list of integers to get items where the specified field is not equal to all the specified values. Example: `?level.ni=12,14,52,69`.
  - `empty` boolean
- `level` Int32Parameter
  - `eq` integer, nullable — **Equal** filter mode (optional, i.e. `param.eq=123` is the same as `param=123`). \ Specify an integer number to get items where the specified field is equal to the specified value. Example: `?balance=1234`.
  - `ne` integer, nullable — **Not equal** filter mode. \ Specify an integer number to get items where the specified field is not equal to the specified value. Example: `?balance.ne=1234`.
  - `gt` integer, nullable — **Greater than** filter mode. \ Specify an integer number to get items where the specified field is greater than the specified value. Example: `?balance.gt=1234`.
  - `ge` integer, nullable — **Greater or equal** filter mode. \ Specify an integer number to get items where the specified field is greater than equal to the specified value. Example: `?balance.ge=1234`.
  - `lt` integer, nullable — **Less than** filter mode. \ Specify an integer number to get items where the specified field is less than the specified value. Example: `?balance.lt=1234`.
  - `le` integer, nullable — **Less or equal** filter mode. \ Specify an integer number to get items where the specified field is less than or equal to the specified value. Example: `?balance.le=1234`.
  - `in` integer[], nullable — **In list** (any of) filter mode. \ Specify a comma-separated list of integers to get items where the specified field is equal to one of the specified values. Example: `?level.in=12,14,52,69`.
  - `ni` integer[], nullable — **Not in list** (none of) filter mode. \ Specify a comma-separated list of integers to get items where the specified field is not equal to all the specified values. Example: `?level.ni=12,14,52,69`.
- `timestamp` TimestampParameter
  - `eq` string, date-time, nullable — **Equal** filter mode (optional, i.e. `param.eq=123` is the same as `param=123`). \ Specify a datetime value to get items where the specified field is equal to the specified value. Example: `?timestamp=2020-02-20T02:40:57Z`.
  - `ne` string, date-time, nullable — **Not equal** filter mode. \ Specify a datetime value to get items where the specified field is not equal to the specified value. Example: `?timestamp.ne=2020-02-20T02:40:57Z`.
  - `gt` string, date-time, nullable — **Greater than** filter mode. \ Specify a datetime value to get items where the specified field is greater than the specified value. Example: `?timestamp.gt=2020-02-20T02:40:57Z`.
  - `ge` string, date-time, nullable — **Greater or equal** filter mode. \ Specify a datetime value to get items where the specified field is greater than equal to the specified value. Example: `?timestamp.ge=2020-02-20T02:40:57Z`.
  - `lt` string, date-time, nullable — **Less than** filter mode. \ Specify a datetime value to get items where the specified field is less than the specified value. Example: `?timestamp.lt=2020-02-20T02:40:57Z`.
  - `le` string, date-time, nullable — **Less or equal** filter mode. \ Specify a datetime value to get items where the specified field is less than or equal to the specified value. Example: `?timestamp.le=2020-02-20T02:40:57Z`.
  - `in` string[], nullable — **In list** (any of) filter mode. \ Specify a comma-separated list of datetimes to get items where the specified field is equal to one of the specified values. Example: `?timestamp.in=2020-02-20,2020-02-21`.
  - `ni` string[], nullable — **Not in list** (none of) filter mode. \ Specify a comma-separated list of datetimes to get items where the specified field is not equal to all the specified values. Example: `?timestamp.ni=2020-02-20,2020-02-21`.
- `select` SelectParameter
  - `fields` string[], nullable — **Fields** selection mode (optional, i.e. `select.fields=balance` is the same as `select=balance`). \ Specify a comma-separated list of fields to include into response. Example: `?select=address,balance` => `[ { "address": "asd", "balance": 10 } ]`.
  - `values` string[], nullable — **Values** selection mode. \ Specify a comma-separated list of fields to include their values into response. Example: `?select.values=address,balance` => `[ [ "asd", 10 ] ]`.
- `sort` SortParameter
  - `asc` string, nullable — **Ascending** sort mode (optional, i.e. `sort.asc=id` is the same as `sort=id`). \ Specify a field name to sort by. Example: `?sort=balance`.
  - `desc` string, nullable — **Descending** sort mode. \ Specify a field name to sort by descending. Example: `?sort.desc=id`.
- `offset` OffsetParameter
  - `el` integer, nullable — **Elements** offset mode (optional, i.e. `offset.el=123` is the same as `offset=123`). \ Skips specified number of elements. Example: `?offset=100`.
  - `pg` integer, nullable — **Page** offset mode. \ Skips `page * limit` elements. This is a classic pagination. Example: `?offset.pg=1`.
  - `cr` integer, nullable — **Cursor** offset mode. \ Skips all elements with the `cursor` before (including) the specified value. Cursor is a field used for sorting, e.g. `id`. Avoid using this offset mode with non-unique or non-sequential cursors such as `amount`, `balance`, etc. Example: `?offset.cr=45837`.
- `limit` integer
- `micheline` 'Json' | 'JsonString' | 'Raw' | 'RawString'
- `quote` 'None' | 'Btc' | 'Eur' | 'Usd' | 'Cny' | 'Jpy' | 'Krw' | 'Eth' | 'Gbp'

## Response `200`

- MigrationOperation[]
  - `type` string — Type of the operation, `migration` - result of the context (database) migration during a protocol update (synthetic type)
  - `id` integer — Unique ID of the operation, stored in the TzKT indexer database
  - `level` integer — The height of the block from the genesis block, in which the operation was included
  - `timestamp` string, date-time — Datetime of the block, in which the operation was included (ISO 8601, e.g. `2020-02-20T02:40:57Z`)
  - `block` string, required — Hash of the block, in which the operation was included
  - `kind` string, required — Kind of the migration `bootstrap` - balance updates, included in the first block after genesis `activate_delegate` - registering a new baker (delegator) during protocol migration `airdrop` - airdrop of 1 micro tez during Babylon protocol upgrade `proposal_invoice` - invoice for creation a proposal for protocol upgrade `code_change` - changing contract scripts during Babylon protocol upgrade `origination` - implicit (hardcoded in the protocol) origination of liquidity baking contracts `subsidy` - liquidity baking subsidy `remove_bigmap_key` - removing the key from the bigmap
  - `account` Alias, required
    - `alias` string, nullable — Account alias name (off-chain data).
    - `address` string, required — Account address (public key hash).
  - `balanceChange` integer — The amount for which the operation updated the balance (micro tez)
  - `storage` unknown
  - `diffs` BigMapDiff[], nullable — List of bigmap updates caused by the migration.
    - `bigmap` integer — Bigmap Id
    - `path` string, required — Path to the bigmap in the contract storage
    - `action` string, required — Action with the bigmap (`allocate`, `add_key`, `update_key`, `remove_key`, `remove`)
    - `content` BigMapKeyShort
      - `hash` string, required — Key hash
      - `key` unknown, required
      - `value` unknown, required
  - `tokenTransfersCount` integer, nullable — Number of token transfers produced by the operation, or `null` if there are no transfers
  - `quote` QuoteShort
    - `btc` number, double, nullable — XTZ/BTC price
    - `eur` number, double, nullable — XTZ/EUR price
    - `usd` number, double, nullable — XTZ/USD price
    - `cny` number, double, nullable — XTZ/CNY price
    - `jpy` number, double, nullable — XTZ/JPY price
    - `krw` number, double, nullable — XTZ/KRW price
    - `eth` number, double, nullable — XTZ/ETH price
    - `gbp` number, double, nullable — XTZ/GBP price

---

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