> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enso.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Tokens

> Returns tokens and their details. <Tip>This APi includes cursor-based pagination with default 1000 items per page.</Tip>



## OpenAPI

````yaml /public/openapi.json get /api/v1/tokens
openapi: 3.0.0
info:
  title: Enso API
  description: >-
    #### Enso API

    - Find detailed documentation on
    [docs.enso.finance](https://docs.enso.finance).

    - To use the API, **you must include your API Key in the Authorization
    header** (Bearer format).

    - For testing, Swagger pre-authorizes you using the key:
    `1e02632d-6feb-4a75-a157-documentation` (1rps).

    - Get your own API Key at
    [enso.finance/developers](https://enso.finance/developers).
  version: 1.0.1
  contact: {}
servers:
  - url: https://api.enso.build
security:
  - {}
tags:
  - name: shortcuts
    description: ''
paths:
  /api/v1/tokens:
    get:
      tags:
        - Tokens
      summary: Tokens
      description: >-
        Returns tokens and their details. <Tip>This APi includes cursor-based
        pagination with default 1000 items per page.</Tip>
      operationId: TokensController_tokens
      parameters:
        - name: includeMetadata
          required: false
          in: query
          description: Whether to include token metadata (symbol, name and logos)
          schema:
            default: false
            example: false
            type: boolean
        - name: chainId
          required: false
          in: query
          description: Chain ID of the network of the token
          schema:
            type: number
            example: 1
        - name: project
          required: false
          in: query
          description: >-
            The overarching project or platform associated with the DeFi token,
            for example `aave`
          schema:
            example: aave
            type: string
        - name: protocolSlug
          required: false
          in: query
          description: >-
            The specific standard integration or version of the DeFi project,
            for example `aave-v2`
          schema:
            example: aave-v2
            type: string
        - name: address
          required: false
          in: query
          description: Ethereum addresses of the tokens
          schema:
            example:
              - '0x030bA81f1c18d280636F32af80b9AAd02Cf0854e'
            type: array
            items:
              type: string
        - name: underlyingTokens
          required: false
          in: query
          description: Underlying tokens of defi token
          schema:
            example:
              - '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'
            type: array
            items:
              type: string
        - name: underlyingTokensExact
          required: false
          in: query
          description: Exact composition of underlying tokens of defi token
          schema:
            example:
              - '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'
            type: array
            items:
              type: string
        - name: primaryAddress
          required: false
          in: query
          description: Ethereum addresses for contract interaction of defi tokens
          schema:
            example:
              - '0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9'
            type: array
            items:
              type: string
        - name: apyFrom
          required: false
          in: query
          description: Only include tokens with APY over this value
          schema:
            type: number
            example: 1
        - name: apyTo
          required: false
          in: query
          description: Only include tokens with APY below this value
          schema:
            example: 10
            type: number
        - name: tvlFrom
          required: false
          in: query
          description: Only include tokens with TVL over this value
          schema:
            example: 0
            type: number
        - name: tvlTo
          required: false
          in: query
          description: Only include tokens with TVL below this value
          schema:
            example: 10000000
            type: number
        - name: type
          required: false
          in: query
          description: |-
            Type of token.
             If not provided, both types will be taken into account
          schema:
            example: defi
            enum:
              - defi
              - base
            type: string
        - name: page
          required: false
          in: query
          description: Pagination page number. Pages are of length 1000
          schema:
            example: '1'
            type: number
        - name: cursor
          required: false
          in: query
          description: Cursor for pagination. Pages are of length 1000
          schema:
            example: '1233456'
            type: number
        - name: name
          required: false
          in: query
          description: Names of the tokens
          schema:
            example:
              - Bridged USDT
            type: array
            items:
              type: string
        - name: symbol
          required: false
          in: query
          description: Symbols of the tokens
          schema:
            example:
              - USDC
            type: array
            items:
              type: string
        - name: pageSize
          required: false
          in: query
          description: Number of items per page (max 1000)
          schema:
            default: 1000
            example: 100
            type: number
        - name: includeUnderlying
          required: false
          in: query
          description: Whether to include underlying tokes
          schema:
            default: true
            example: false
            type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResult'
                  - properties:
                      data:
                        type: array
                        description: Returned data for current page
                        items:
                          $ref: '#/components/schemas/PositionModel'
components:
  schemas:
    PaginatedResult:
      type: object
      properties:
        meta:
          description: Metadata for pagination
          allOf:
            - $ref: '#/components/schemas/PaginationMeta'
      required:
        - meta
    PositionModel:
      type: object
      properties:
        address:
          type: string
          description: Ethereum address of the token
        chainId:
          type: number
          description: Chain ID of the network of the token
        type:
          type: string
          description: Type of token
        decimals:
          type: number
          description: Token decimals
        symbol:
          type: string
          description: Token name
          nullable: true
        name:
          type: string
          description: Token symbol
          nullable: true
        logosUri:
          description: A list of logos for the token
          nullable: true
          type: array
          items:
            type: string
        underlyingTokens:
          description: Underlying tokens of defi token
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/TokenModel'
        project:
          type: string
          description: >-
            The overarching project or platform associated with the DeFi token,
            for example `aave`
          example: aave
          nullable: true
        protocolSlug:
          type: string
          description: >-
            The specific standard integration or version of the DeFi project,
            for example `aave-v2`
          nullable: true
        apy:
          type: number
          description: The defi position APY
          nullable: true
          example: 3.8
        apyBase:
          type: number
          description: The defi position base APY
          nullable: true
          example: 2.6
        apyReward:
          type: number
          description: The defi position reward APY
          nullable: true
          example: 1.2
        borrowApyBase:
          type: number
          description: The defi position base borrow APY
          nullable: true
          example: 2.6
        borrowApyReward:
          type: number
          description: The defi position reward borrow APY
          nullable: true
          example: 1.2
        tvl:
          type: number
          description: The defi position TVL
          nullable: true
          example: 3001020.8
        primaryAddress:
          type: string
          description: Ethereum address for contract interaction of defi token
          nullable: true
      required:
        - address
        - chainId
        - type
        - decimals
        - symbol
        - name
        - logosUri
        - underlyingTokens
        - project
        - protocolSlug
        - apy
        - apyBase
        - apyReward
        - borrowApyBase
        - borrowApyReward
        - tvl
        - primaryAddress
    PaginationMeta:
      type: object
      properties:
        total:
          type: number
          description: Total amount of pages
        lastPage:
          type: number
          description: Last page number
        currentPage:
          type: number
          description: Current page number
        perPage:
          type: number
          description: Amount of elements per page
        prev:
          type: number
          description: Previous page
        next:
          type: number
          description: Next page
        cursor:
          type: number
          description: Cursor for pagination
      required:
        - total
        - lastPage
        - currentPage
        - perPage
        - prev
        - next
        - cursor
    TokenModel:
      type: object
      properties:
        address:
          type: string
          description: Ethereum address of the token
        chainId:
          type: number
          description: Chain ID of the network of the token
        type:
          type: string
          description: Type of token
        decimals:
          type: number
          description: Token decimals
        symbol:
          type: string
          description: Token name
          nullable: true
        name:
          type: string
          description: Token symbol
          nullable: true
        logosUri:
          description: A list of logos for the token
          nullable: true
          type: array
          items:
            type: string
      required:
        - address
        - chainId
        - type
        - decimals
        - symbol
        - name
        - logosUri

````