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

# Get non fungible token allowances for an account

> Returns an account's non-fungible token allowances.

## Ordering
The order is governed by a combination of the account ID and the token ID values, with account ID being the parent column.
The token ID value governs its order within the given account ID.

Note: The default order for this API is currently ascending. The account ID can be the owner or the spender ID depending upon the owner flag.

## Filtering
When filtering there are some restrictions enforced to ensure correctness and scalability.

**The table below defines the restrictions and support for the endpoint**

| Query Param   | Comparison Operator | Support | Description           | Example |
| ------------- | ------------------- | ------- | --------------------- | ------- |
| account.id    | eq                  | Y       | Single occurrence only. | ?account.id=X |
|               | ne                  | N       | | |
|               | lt(e)               | Y       | Single occurrence only. | ?account.id=lte:X |
|               | gt(e)               | Y       | Single occurrence only. | ?account.id=gte:X |
| token.id      | eq                  | Y       | Single occurrence only. Requires the presence of an **account.id** parameter | ?account.id=X&token.id=eq:Y |
|               | ne                  | N       | | |
|               | lt(e)               | Y       | Single occurrence only. Requires the presence of an **lte** or **eq** **account.id** parameter | ?account.id=lte:X&token.id=lt:Y |
|               | gt(e)               | Y       | Single occurrence only. Requires the presence of an **gte** or **eq** **account.id** parameter | ?account.id=gte:X&token.id=gt:Y |

Both filters must be a single occurrence of **gt(e)** or **lt(e)** which provide a lower and or upper boundary for search.




## OpenAPI

````yaml /openapi.yaml get /api/v1/accounts/{idOrAliasOrEvmAddress}/allowances/nfts
openapi: 3.0.3
info:
  title: Mirror Node REST API
  version: 0.154.0
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  description: >-
    The REST API offers the ability to query transactions and entity information
    from a mirror node.


    Base url: [/api/v1](/api/v1)


    OpenAPI Spec: [/api/v1/docs/openapi.yml](/api/v1/docs/openapi.yml)
  contact:
    name: Mirror Node Team
    email: mirrornode@hedera.com
    url: https://github.com/hiero-ledger/hiero-mirror-node
servers:
  - description: Hedera Mainnet Mirror Node
    url: https://mainnet.mirrornode.hedera.com
  - description: The production REST API servers
    url: '{scheme}://{network}.mirrornode.hedera.com'
    variables:
      scheme:
        default: https
        description: The URI scheme
        enum:
          - http
          - https
      network:
        default: testnet
        description: The Hedera network in use
        enum:
          - mainnet-public
          - mainnet
          - previewnet
          - testnet
security: []
tags:
  - name: accounts
    description: >-
      The accounts object represents the information associated with an account
      entity and returns a list of account information.The accounts list
      endpoint is cached and not updated as frequently as the account lookup by
      a specific ID endpoint.
    externalDocs:
      url: >-
        https://docs.hedera.com/guides/docs/mirror-node-api/cryptocurrency-api#accounts
  - name: balances
    description: >-
      The balance object represents the balance of accounts on the Hedera
      network.
    externalDocs:
      url: >-
        https://docs.hedera.com/guides/docs/mirror-node-api/cryptocurrency-api#balances
  - name: contracts
    description: >-
      The contracts objects represents the information associated with contract
      entities.The contracts list endpoint is cached and not updated as
      frequently as the contract lookup by a specific ID endpoint.
  - name: schedules
    description: >-
      The schedules object represents the information associated with a schedule
      entity.The schedules list endpoints is cached and not updated as
      frequently as the schedule lookup by a specific ID endpoint.
  - name: transactions
    description: >-
      The transaction object represents the transactions processed on the Hedera
      network.
    externalDocs:
      url: >-
        https://docs.hedera.com/guides/docs/mirror-node-api/cryptocurrency-api#transactions
  - name: topics
    description: >-
      The topics object represents the information associated with a topic
      entity and returns topic messages information.
    externalDocs:
      url: >-
        https://docs.hedera.com/guides/docs/mirror-node-api/cryptocurrency-api#topic-messages
  - name: tokens
    description: >-
      The tokens object represents the information associated with a token
      entity and returns a list of token information.The tokens list endpoint is
      cached and not updated as frequently as the token lookup by a specific ID.
externalDocs:
  description: REST API Docs
  url: https://docs.hedera.com/guides/docs/mirror-node-api/cryptocurrency-api
paths:
  /api/v1/accounts/{idOrAliasOrEvmAddress}/allowances/nfts:
    get:
      tags:
        - accounts
      summary: Get non fungible token allowances for an account
      description: >
        Returns an account's non-fungible token allowances.


        ## Ordering

        The order is governed by a combination of the account ID and the token
        ID values, with account ID being the parent column.

        The token ID value governs its order within the given account ID.


        Note: The default order for this API is currently ascending. The account
        ID can be the owner or the spender ID depending upon the owner flag.


        ## Filtering

        When filtering there are some restrictions enforced to ensure
        correctness and scalability.


        **The table below defines the restrictions and support for the
        endpoint**


        | Query Param   | Comparison Operator | Support | Description          
        | Example |

        | ------------- | ------------------- | ------- | ---------------------
        | ------- |

        | account.id    | eq                  | Y       | Single occurrence
        only. | ?account.id=X |

        |               | ne                  | N       | | |

        |               | lt(e)               | Y       | Single occurrence
        only. | ?account.id=lte:X |

        |               | gt(e)               | Y       | Single occurrence
        only. | ?account.id=gte:X |

        | token.id      | eq                  | Y       | Single occurrence
        only. Requires the presence of an **account.id** parameter |
        ?account.id=X&token.id=eq:Y |

        |               | ne                  | N       | | |

        |               | lt(e)               | Y       | Single occurrence
        only. Requires the presence of an **lte** or **eq** **account.id**
        parameter | ?account.id=lte:X&token.id=lt:Y |

        |               | gt(e)               | Y       | Single occurrence
        only. Requires the presence of an **gte** or **eq** **account.id**
        parameter | ?account.id=gte:X&token.id=gt:Y |


        Both filters must be a single occurrence of **gt(e)** or **lt(e)** which
        provide a lower and or upper boundary for search.
      operationId: getNftAllowances
      parameters:
        - $ref: '#/components/parameters/accountIdOrAliasOrEvmAddressPathParam'
        - $ref: '#/components/parameters/limitQueryParam'
        - $ref: '#/components/parameters/orderQueryParam'
        - $ref: '#/components/parameters/accountIdQueryParam'
        - $ref: '#/components/parameters/tokenIdQueryParam'
        - $ref: '#/components/parameters/ownerQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NftAllowancesResponse'
        '400':
          $ref: '#/components/responses/InvalidParameterError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  parameters:
    accountIdOrAliasOrEvmAddressPathParam:
      name: idOrAliasOrEvmAddress
      in: path
      description: Account alias or account id or evm address
      required: true
      examples:
        aliasOnly:
          value: HIQQEXWKW53RKN4W6XXC4Q232SYNZ3SZANVZZSUME5B5PRGXL663UAQA
        realmAlias:
          value: 0.HIQQEXWKW53RKN4W6XXC4Q232SYNZ3SZANVZZSUME5B5PRGXL663UAQA
        shardRealmAlias:
          value: 0.1.HIQQEXWKW53RKN4W6XXC4Q232SYNZ3SZANVZZSUME5B5PRGXL663UAQA
        accountNumOnly:
          value: 8
        realmAccountNum:
          value: 0.8
        shardRealmAccountNum:
          value: 0.0.8
        evmAddress:
          value: ac384c53f03855fa1b3616052f8ba32c6c2a2fec
        evmAddressWithPrefix:
          value: 9.832019034092927e+47
        evmAddressWithShardAndRealm:
          value: 0.0.ac384c53f03855fa1b3616052f8ba32c6c2a2fec
      schema:
        pattern: >-
          ^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40}|(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8}))$
        type: string
    limitQueryParam:
      name: limit
      in: query
      description: The maximum number of items to return
      example: 2
      schema:
        format: int32
        type: integer
        default: 25
        minimum: 1
        maximum: 100
    orderQueryParam:
      name: order
      in: query
      description: The order in which items are listed
      example: desc
      schema:
        enum:
          - asc
          - desc
        default: asc
    accountIdQueryParam:
      name: account.id
      in: query
      description: The ID of the account to return information for
      explode: true
      examples:
        noValue:
          summary: '--'
          value: ''
        entityNumNoOperator:
          summary: Example of entityNum equals with no operator
          value: 100
        idNoOperator:
          summary: Example of id equals with no operator
          value: 0.0.100
        entityNumEqOperator:
          summary: Example of entityNum equals operator
          value: eq:200
        idEqOperator:
          summary: Example of id equals operator
          value: eq:0.0.200
        entityNumNeOperator:
          summary: Example of entityNum not equals operator
          value: ne:300
        idNeOperator:
          summary: Example of id not equals operator
          value: ne:0.0.300
        entityNumGtOperator:
          summary: Example of entityNum greater than operator
          value: gt:400
        idGtOperator:
          summary: Example of id greater than operator
          value: gt:0.0.400
        entityNumGteOperator:
          summary: Example of entityNum greater than or equals operator
          value: gte:500
        idGteOperator:
          summary: Example of id greater than or equals operator
          value: gte:0.0.500
        entityNumLtOperator:
          summary: Example of entityNum less than operator
          value: lt:600
        idLtOperator:
          summary: Example of id less than operator
          value: lt:0.0.600
        entityNumLteOperator:
          summary: Example of entityNum less than or equals operator
          value: lte:700
        idLteOperator:
          summary: Example of id less than or equals operator
          value: lte:0.0.700
      schema:
        $ref: '#/components/schemas/EntityIdQuery'
    tokenIdQueryParam:
      name: token.id
      description: The ID of the token to return information for
      in: query
      examples:
        noValue:
          summary: '--'
          value: ''
        tokenNumAlias:
          summary: Example of token num alias equals with no operator
          value: 64
        entityNumNoOperator:
          summary: Example of entityNum equals with no operator
          value: 100
        idNoOperator:
          summary: Example of id equals with no operator
          value: 0.0.100
        entityNumEqOperator:
          summary: Example of entityNum equals operator
          value: eq:200
        idEqOperator:
          summary: Example of id equals operator
          value: eq:0.0.200
        entityNumNeOperator:
          summary: Example of entityNum not equals operator
          value: ne:300
        idNeOperator:
          summary: Example of id not equals operator
          value: ne:0.0.300
        entityNumGtOperator:
          summary: Example of entityNum greater than operator
          value: gt:400
        idGtOperator:
          summary: Example of id greater than operator
          value: gt:0.0.400
        entityNumGteOperator:
          summary: Example of entityNum greater than or equals operator
          value: gte:500
        idGteOperator:
          summary: Example of id greater than or equals operator
          value: gte:0.0.500
        entityNumLtOperator:
          summary: Example of entityNum less than operator
          value: lt:600
        idLtOperator:
          summary: Example of id less than operator
          value: lt:0.0.600
        entityNumLteOperator:
          summary: Example of entityNum less than or equals operator
          value: lte:700
        idLteOperator:
          summary: Example of id less than or equals operator
          value: lte:0.0.700
      schema:
        $ref: '#/components/schemas/EntityIdQuery'
    ownerQueryParam:
      name: owner
      description: >-
        When the owner value is true or omitted, the accountId path parameter
        will specify the ID of the owner, and the API will retrieve the
        allowances that the owner has granted to different spenders. Conversely,
        when the owner value is false, the accountId path parameter will
        indicate the ID of the spender who has an allowance, and the API will
        instead provide the allowances granted to the spender by different
        owners of those tokens.
      in: query
      example: true
      schema:
        type: boolean
        default: true
  schemas:
    NftAllowancesResponse:
      type: object
      properties:
        allowances:
          $ref: '#/components/schemas/NftAllowances'
        links:
          $ref: '#/components/schemas/Links'
    EntityIdQuery:
      type: string
      pattern: ^((gte?|lte?|eq|ne)\:)?(\d{1,10}\.\d{1,10}\.)?\d{1,10}$
    NftAllowances:
      type: array
      items:
        $ref: '#/components/schemas/NftAllowance'
    Links:
      type: object
      properties:
        next:
          example: null
          nullable: true
          type: string
    Error:
      type: object
      properties:
        _status:
          type: object
          properties:
            messages:
              type: array
              items:
                type: object
                properties:
                  data:
                    description: Error message in hexadecimal
                    example: '0x3000'
                    format: binary
                    nullable: true
                    pattern: ^0x[0-9a-fA-F]+$
                    type: string
                  detail:
                    description: Detailed error message
                    example: Generic detailed error message
                    nullable: true
                    type: string
                  message:
                    description: Error message
                    example: Generic error message
                    nullable: false
                    type: string
    NftAllowance:
      type: object
      properties:
        approved_for_all:
          description: >-
            A boolean value indicating if the spender has the allowance to spend
            all NFTs owned by the given owner
          example: true
          type: boolean
        owner:
          $ref: '#/components/schemas/EntityId'
        spender:
          $ref: '#/components/schemas/EntityId'
        timestamp:
          $ref: '#/components/schemas/TimestampRange'
        token_id:
          $ref: '#/components/schemas/EntityId'
      example:
        approved_for_all: false
        owner: 0.0.11
        payer_account_id: 0.0.10
        spender: 0.0.15
        timestamp:
          from: '1651560386.060890949'
          to: '1651560386.661997287'
        token_id: 0.0.99
      required:
        - approved_for_all
        - owner
        - spender
        - timestamp
        - token_id
    EntityId:
      type: string
      description: Network entity ID in the format of `shard.realm.num`
      pattern: ^\d{1,10}\.\d{1,10}\.\d{1,10}$
      example: 0.0.2
      nullable: true
    TimestampRange:
      type: object
      description: A timestamp range an entity is valid for
      properties:
        from:
          allOf:
            - $ref: '#/components/schemas/Timestamp'
            - description: The inclusive from timestamp in seconds
        to:
          allOf:
            - $ref: '#/components/schemas/TimestampNullable'
            - description: The exclusive to timestamp in seconds
    Timestamp:
      description: A Unix timestamp in seconds.nanoseconds format
      type: string
      example: '1586567700.453054000'
      pattern: ^\d{1,10}(\.\d{1,9})?$
    TimestampNullable:
      description: A Unix timestamp in seconds.nanoseconds format
      type: string
      example: '1586567700.453054000'
      pattern: ^\d{1,10}(\.\d{1,9})?$
      nullable: true
  responses:
    InvalidParameterError:
      description: Invalid parameter
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            _status:
              messages:
                - message: 'Invalid parameter: account.id'
                - message: >-
                    Invalid Transaction id. Please use \shard.realm.num-sss-nnn\
                    format where sss are seconds and nnn are nanoseconds
    NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            _status:
              messages:
                - message: Not found

````