Tezos Rights API

The Rights API from Tezos — 2 operation(s) for rights.

Operations 2

GET /v1/rights/count Get rights count #
GET /v1/rights Get rights #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tezos-rights-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tezos-rights-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TzKT Accounts Rights API
  description: "# Introduction\n\nTzKT is the most widely used tool in Tezos that provides you with convenient and flexible access to the Tezos blockchain data, processed and indexed by its own indexer. \nYou can fetch all historical data via REST API, or subscribe for real-time data via WebSocket API. TzKT was built by the joint efforts of the entire Tezos community \nto help developers build more services and dapps on top of Tezos.\n\nTzKT Indexer and API are [open-source](https://github.com/baking-bad/tzkt), so don't be afraid to depend on the third-party service,\nbecause you can always clone, build and run it yourself to have full control over all the components.\n\nFeel free to contact us if you have any questions or feature requests.\nYour feedback is much appreciated!\n\n- Discord: https://discord.gg/aG8XKuwsQd\n- Telegram: https://t.me/baking_bad_chat\n- X: https://x.com/TezosBakingBad\n- Email: hello@bakingbad.dev\n\nAnd don't forget to star TzKT [on GitHub](https://github.com/baking-bad/tzkt) if you like it \U0001F60A\n\n# Get Started\n\nThere are two API services provided for public use:\n- **Free TzKT API** with free anonymous access;\n- **TzKT Pro** with paid subscriptions with increased rate limits, off-chain data, extended support and business-level SLA.\n\nYou can find more details about differences between available tiers [here](https://tzkt.io/api).\n\n## Free TzKT API\n\nFree-tier TzKT API is the best way to get started and explore available Tezos data and API functionality.\nIt doesn't require authorization and is free for everyone and for both commercial and non-commercial use.\n\n> #### Note: attribution required\nIf you use free-tier TzKT API, you **must** mention it on your website or application by placing the label\n\"Powered by TzKT API\", or \"Built with TzKT API\", or \"Data provided by TzKT API\" with a direct link to [tzkt.io](https://tzkt.io).\n\nIt's available for the following Tezos networks with the following base URLs:\n\n- Mainnet: `https://api.tzkt.io/` or `https://api.mainnet.tzkt.io/` ([view docs](https://api.tzkt.io))\n- Ghostnet: `https://api.ghostnet.tzkt.io/` ([view docs](https://api.ghostnet.tzkt.io))\n- Shadownet: `https://api.shadownet.tzkt.io/` ([view docs](https://api.shadownet.tzkt.io))\n- Seoulnet: `https://api.seoulnet.tzkt.io/` ([view docs](https://api.seoulnet.tzkt.io))\n- Tallinnnet: `https://api.tallinnnet.tzkt.io/` ([view docs](https://api.tallinnnet.tzkt.io))\n\n### Sending Requests\n\nTo send a request to Free TzKT API you need literally nothing. Just take the base URL of the particular network\n(for example, Tezos mainnet: `https://api.tzkt.io`) and append the path of the particular endpoint\n(for example, chain's head: `/v1/head`), that's pretty much it: \n\n```bash\ncurl https://api.tzkt.io/v1/head\n```\n\nRead through this documentation to explore available endpoints, query parameters\n(note, if you click on a query parameter, you will see available modes, such as `.eq`, `.in`, etc.)\nand response models. If you have any questions, do not hesitate to ask for support, Tezos community has always been very friendly! \U0001F609\n\n### Rate Limits\n\nPlease, refer to https://tzkt.io/api to check relevant rate limits.\n\nIf you exceed the limit, the API will respond with `HTTP 429` status code.\n\n## TzKT Pro\n\nTzKT Pro is intended for professional use, for those who seek for extended capabilities, performance, reliability and business-level SLA.\nTzKT Pro service is provided via paid subscriptions. Please, refer to [Pricing Plans](https://tzkt.io/api) to check available tiers.\n\nIt's available for the following Tezos networks with the following base URLs:\n\n- Mainnet: `https://pro.tzkt.io/` ([view docs](https://api.tzkt.io))\n- Testnets: *let us know if you need TzKT Pro for testnets*\n\n### Authorization\n\nTo access TzKT Pro you will need to authorize requests with your personal API key, that you will receive on your email after purchasing a subscription.\nThis can be done by adding the query string parameter `?apikey={your_key}` or by adding the HTTP header `apikey: {your_key}`.\n\nNote that you can have multiple API keys within a single subscription.\n\nKeep your API keys private, do not publish it anywhere and do not hardcode it, especially in public repositories.\nIf your key was compromised, just let us know and we will issue a new one.\n\nAlso note that passing the API key via HTTP headers is more secure, because in HTTPS headers are encrypted,\nbut query string is not, so the key can be unintentionally exposed to third parties.\n\n### Sending Requests\n\nSending a request with the API key passed as a query string parameter:\n\n```bash\ncurl https://pro.tzkt.io/v1/head?apikey={your_key}\n```\n\nSending a request with the API key passed via an HTTP header:\n\n```bash\ncurl https://pro.tzkt.io/v1/head \\\n    -H 'apikey: {your_key}'\n```\n\n### Rate Limits\n\nPlease, refer to https://tzkt.io/api to check relevant rate limits for different pricing plans.\n\nAlso, TzKT Pro provides you with the additional HTTP headers to show the allowed limits, number of available requests\nand the time remaining (in seconds) until the quota is reset. Here's an example:\n\n```\nRateLimit-Limit: 50\nRateLimit-Remaining: 49\nRateLimit-Reset: 1\n```\n\nIt also sends general information about your rate limits per second and per day:\n\n```\nX-RateLimit-Limit-Second: 50\nX-RateLimit-Remaining-Second: 49\nX-RateLimit-Limit-Day: 3000000\nX-RateLimit-Remaining-Day: 2994953\n```\n\nIf you exceed the limit, the API will respond with `HTTP 429` status code.\n"
  contact:
    name: Baking Bad Team
    url: https://bakingbad.dev
    email: hello@bakingbad.dev
  version: 1.17.1
  x-logo:
    url: https://tzkt.io/logo.png
    href: https://tzkt.io/
servers:
- url: https://api.tzkt.io
tags:
- name: Rights
paths:
  /v1/rights/count:
    get:
      tags:
      - Rights
      summary: Get rights count
      description: Returns the total number of stored rights.
      operationId: Rights_GetCount
      parameters:
      - name: type
        in: query
        description: Filters rights by type (`baking`, `attestation`)
        schema:
          oneOf:
          - $ref: '#/components/schemas/BakingRightTypeParameter'
        x-position: 1
        x-tzkt-extension: query-parameter
        x-tzkt-query-parameter: baking,attestation
      - name: baker
        in: query
        description: Filters rights by baker
        schema:
          oneOf:
          - $ref: '#/components/schemas/AccountParameter'
        x-position: 2
        x-tzkt-extension: query-parameter
      - name: cycle
        in: query
        description: Filters rights by cycle
        schema:
          oneOf:
          - $ref: '#/components/schemas/Int32Parameter'
        x-position: 3
        x-tzkt-extension: query-parameter
      - name: level
        in: query
        description: Filters rights by level
        schema:
          oneOf:
          - $ref: '#/components/schemas/Int32Parameter'
        x-position: 4
        x-tzkt-extension: query-parameter
      - name: slots
        in: query
        description: Filters rights by slots
        schema:
          oneOf:
          - $ref: '#/components/schemas/Int32NullParameter'
        x-position: 5
        x-tzkt-extension: query-parameter
      - name: round
        in: query
        description: Filters rights by round
        schema:
          oneOf:
          - $ref: '#/components/schemas/Int32NullParameter'
        x-position: 6
        x-tzkt-extension: query-parameter
      - name: status
        in: query
        description: Filters rights by status (`future`, `realized`, `missed`)
        schema:
          oneOf:
          - $ref: '#/components/schemas/BakingRightStatusParameter'
        x-position: 7
        x-tzkt-extension: query-parameter
        x-tzkt-query-parameter: future,realized,uncovered,missed
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: integer
                format: int32
  /v1/rights:
    get:
      tags:
      - Rights
      summary: Get rights
      description: Returns a list of rights.
      operationId: Rights_Get
      parameters:
      - name: type
        in: query
        description: Filters rights by type (`baking`, `attestation`)
        schema:
          oneOf:
          - $ref: '#/components/schemas/BakingRightTypeParameter'
        x-position: 1
        x-tzkt-extension: query-parameter
        x-tzkt-query-parameter: baking,attestation
      - name: baker
        in: query
        description: Filters rights by baker
        schema:
          oneOf:
          - $ref: '#/components/schemas/AccountParameter'
        x-position: 2
        x-tzkt-extension: query-parameter
      - name: cycle
        in: query
        description: Filters rights by cycle
        schema:
          oneOf:
          - $ref: '#/components/schemas/Int32Parameter'
        x-position: 3
        x-tzkt-extension: query-parameter
      - name: level
        in: query
        description: Filters rights by level
        schema:
          oneOf:
          - $ref: '#/components/schemas/Int32Parameter'
        x-position: 4
        x-tzkt-extension: query-parameter
      - name: slots
        in: query
        description: Filters rights by slots
        schema:
          oneOf:
          - $ref: '#/components/schemas/Int32NullParameter'
        x-position: 5
        x-tzkt-extension: query-parameter
      - name: round
        in: query
        description: Filters rights by round
        schema:
          oneOf:
          - $ref: '#/components/schemas/Int32NullParameter'
        x-position: 6
        x-tzkt-extension: query-parameter
      - name: status
        in: query
        description: Filters rights by status (`future`, `realized`, `missed`)
        schema:
          oneOf:
          - $ref: '#/components/schemas/BakingRightStatusParameter'
        x-position: 7
        x-tzkt-extension: query-parameter
        x-tzkt-query-parameter: future,realized,uncovered,missed
      - name: select
        in: query
        description: Specify comma-separated list of fields to include into response or leave it undefined to return full object. If you select single field, response will be an array of values in both `.fields` and `.values` modes.
        schema:
          oneOf:
          - $ref: '#/components/schemas/SelectParameter'
        x-position: 8
        x-tzkt-extension: query-parameter
      - name: sort
        in: query
        description: 'Sorts rights by specified field. Supported fields: `level` (default).'
        schema:
          oneOf:
          - $ref: '#/components/schemas/SortParameter'
        x-position: 9
        x-tzkt-extension: query-parameter
      - name: offset
        in: query
        description: Specifies which or how many items should be skipped
        schema:
          oneOf:
          - $ref: '#/components/schemas/OffsetParameter'
        x-position: 10
        x-tzkt-extension: query-parameter
      - name: limit
        in: query
        description: Maximum number of items to return
        schema:
          type: integer
          format: int32
          default: 100
          maximum: 10000.0
          minimum: 0.0
        x-position: 11
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BakingRight'
components:
  schemas:
    Alias:
      type: object
      additionalProperties: false
      properties:
        alias:
          type:
          - string
          - 'null'
          description: Account alias name (off-chain data).
        address:
          type: string
          description: Account address (public key hash).
    OffsetParameter:
      type: object
      additionalProperties: false
      properties:
        el:
          type:
          - integer
          - 'null'
          description: '**Elements** offset mode (optional, i.e. `offset.el=123` is the same as `offset=123`). \

            Skips specified number of elements.


            Example: `?offset=100`.'
          format: int32
        pg:
          type:
          - integer
          - 'null'
          description: '**Page** offset mode. \

            Skips `page * limit` elements. This is a classic pagination.


            Example: `?offset.pg=1`.'
          format: int32
        cr:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int64
      x-tzkt-extension: query-parameter
    BakingRight:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          description: 'Type of the right:

            - `baking` - right to bake (produce) a block;

            - `attestation` - right to attest (validate) a block.'
        cycle:
          type: integer
          description: Cycle on which the right can be realized.
          format: int32
        level:
          type: integer
          description: Level at which a block must be baked or an attestation must be sent.
          format: int32
        timestamp:
          type: string
          description: Time (estimated, in case of future rights) when a block must be baked or an attestation must be sent.
          format: date-time
        round:
          type:
          - integer
          - 'null'
          description: 'Round (0 - ∞) at which the baker can propose/produce a block.

            If a baker at round  `0` doesn''t produce a block within the given time interval, then the right goes to a baker at round` 1`, etc.

            For `attestation` rights this field is always `null`.'
          format: int32
        slots:
          type:
          - integer
          - 'null'
          description: Number of slots to be attested. For `baking` rights this field is always `null`.
          format: int32
        baker:
          description: Baker to which baking or attestation right has been given.
          oneOf:
          - $ref: '#/components/schemas/Alias'
        status:
          type: string
          description: 'Status of the baking or attestation right:

            - `future` - the right is not realized yet;

            - `realized` - the right was successfully realized;

            - `missed` - the right was not realized.'
    SortParameter:
      type: object
      additionalProperties: false
      properties:
        asc:
          type:
          - string
          - 'null'
          description: '**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:
          type:
          - string
          - 'null'
          description: '**Descending** sort mode. \

            Specify a field name to sort by descending.


            Example: `?sort.desc=id`.'
      x-tzkt-extension: query-parameter
    SelectParameter:
      type: object
      additionalProperties: false
      properties:
        fields:
          type:
          - array
          - 'null'
          description: '**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 } ]`.'
          items:
            type: string
        values:
          type:
          - array
          - 'null'
          description: '**Values** selection mode. \

            Specify a comma-separated list of fields to include their values into response.


            Example: `?select.values=address,balance` => `[ [ "asd", 10 ] ]`.'
          items:
            type: string
      x-tzkt-extension: query-parameter
    BakingRightTypeParameter:
      type: object
      additionalProperties: false
      properties:
        eq:
          type:
          - string
          - 'null'
          description: '**Equal** filter mode (optional, i.e. `param.eq=123` is the same as `param=123`). \

            Specify baking right type to get items where the specified field is equal to the specified value.


            Example: `?type=baking`.'
        ne:
          type:
          - string
          - 'null'
          description: '**Not equal** filter mode. \

            Specify baking right type to get items where the specified field is not equal to the specified value.


            Example: `?type.ne=attestation`.'
      x-tzkt-extension: query-parameter
      x-tzkt-query-parameter: baking,attestation
    Int32Parameter:
      type: object
      additionalProperties: false
      properties:
        eq:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        ne:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        gt:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        ge:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        lt:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        le:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        in:
          type:
          - array
          - 'null'
          description: '**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`.'
          items:
            type: integer
            format: int32
        ni:
          type:
          - array
          - 'null'
          description: '**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`.'
          items:
            type: integer
            format: int32
      x-tzkt-extension: query-parameter
    Int32NullParameter:
      type: object
      additionalProperties: false
      properties:
        eq:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        ne:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        gt:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        ge:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        lt:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        le:
          type:
          - integer
          - 'null'
          description: '**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`.'
          format: int32
        in:
          type:
          - array
          - 'null'
          description: '**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`.'
          items:
            type: integer
            format: int32
        ni:
          type:
          - array
          - 'null'
          description: '**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`.'
          items:
            type: integer
            format: int32
        'null':
          type:
          - boolean
          - 'null'
          description: '**Is null** filter mode. \

            Use this mode to get items where the specified field is null or not.


            Example: `?nonce.null` or `?nonce.null=false`.'
      x-tzkt-extension: query-parameter
    BakingRightStatusParameter:
      type: object
      additionalProperties: false
      properties:
        eq:
          type:
          - string
          - 'null'
          description: '**Equal** filter mode (optional, i.e. `param.eq=123` is the same as `param=123`). \

            Specify baking right status to get items where the specified field is equal to the specified value.


            Example: `?type=future`.'
        ne:
          type:
          - string
          - 'null'
          description: '**Not equal** filter mode. \

            Specify baking right status to get items where the specified field is not equal to the specified value.


            Example: `?type.ne=missed`.'
      x-tzkt-extension: query-parameter
      x-tzkt-query-parameter: future,realized,uncovered,missed
    AccountParameter:
      type: object
      additionalProperties: false
      properties:
        eq:
          type:
          - string
          - 'null'
          description: '**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:
          type:
          - string
          - 'null'
          description: '**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:
          type:
          - array
          - 'null'
          description: '**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`.'
          items:
            type: string
        ni:
          type:
          - array
          - 'null'
          description: '**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`.'
          items:
            type: string
        eqx:
          type:
          - string
          - 'null'
          description: '**Equal to another field** filter mode. \

            Specify a field name to get items where the specified fields are equal.


            Example: `?sender.eqx=target`.'
        nex:
          type:
          - string
          - 'null'
          description: '**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':
          type:
          - boolean
          - 'null'
          description: '**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`.'
        inHasNull:
          type: boolean
        niHasNull:
          type: boolean
      x-tzkt-extension: query-parameter
x-generator: NSwag v14.2.0.0 (NJsonSchema v11.1.0.0 (Newtonsoft.Json v13.0.0.0))
x-tagGroups:
- name: REST API
  tags:
  - Accounts
  - BigMaps
  - Blocks
  - Commitments
  - Constants
  - Contracts
  - Cycles
  - Delegates
  - Domains
  - Events
  - Head
  - Helpers
  - Operations
  - Protocols
  - Quotes
  - Rewards
  - Rights
  - SmartRollups
  - Software
  - Staking
  - Statistics
  - Tickets
  - Tokens
  - Voting
- name: WebSocket API
  tags:
  - Get Started
  - Subscriptions
  - Examples
- name: Libraries
  tags:
  - Typescript SDK
  - Taquito extension