Get NFTs by Account
Returns information for all non-fungible tokens for an account.
This method will use 20
Compute Units.
Returns information for all non-fungible tokens for an account.
Ordering
When considering NFTs, their order is governed by a combination of their numerical token.Id and serialnumber values, with token.id being the parent column. A serialnumbers value governs its order within the given token.id
In that regard, if a user acquired a set of NFTs in the order (2-2, 2-4 1-5, 1-1, 1-3, 3-3, 3-4), the following layouts illustrate the ordering expectations for ownership listing
- All NFTs in ASC order: 1-1, 1-3, 1-5, 2-2, 2-4, 3-3, 3-4
- All NFTs in DESC order: 3-4, 3-3, 2-4, 2-2, 1-5, 1-3, 1-1
- NFTs above 1-1 in ASC order: 1-3, 1-5, 2-2, 2-4, 3-3, 3-4
- NFTs below 3-3 in ASC order: 1-1, 1-3, 1-5, 2-2, 2-4
- NFTs between 1-3 and 3-3 inclusive in DESC order: 3-4, 3-3, 2-4, 2-2, 1-5, 1-3
Note: The default order for this API is currently DESC
Filtering
When filtering there are some restrictions enforced to ensure correctness and scalability.
The table below defines the restrictions and support for the NFT ownership endpoint
Query Param | Comparison Operator | Support | Description | Example |
---|---|---|---|---|
token.id | eq | Y | Single occurrence only. | ?token.id=X |
ne | N | |||
lt(e) | Y | Single occurrence only. | ?token.id=lte:X | |
gt(e) | Y | Single occurrence only. | ?token.id=gte:X | |
serialnumber | eq | Y | Single occurrence only. Requires the presence of a token.id query | ?serialnumber=Y |
ne | N | |||
lt(e) | Y | Single occurrence only. Requires the presence of an lte or eq token.id query | ?token.id=lte:X&serialnumber=lt:Y | |
gt(e) | Y | Single occurrence only. Requires the presence of an gte or eq token.id query | ?token.id=gte:X&serialnumber=gt:Y | |
spender.id | eq | Y | ?spender.id=Z | |
ne | N | |||
lt(e) | Y | ?spender.id=lt:Z | ||
gt(e) | Y | ?spender.id=gt:Z |
Note: When searching across a range for individual NFTs a serialnumber with an additional token.id query filter must be provided. Both filters must be a single occurrence of gt(e) or lt(e) which provide a lower and or upper boundary for search.
Account alias or account id or evm address
{"value":"HIQQEXWKW53RKN4W6XXC4Q232SYNZ3SZANVZZSUME5B5PRGXL663UAQA"}
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}))$
The maximum number of items to return
25
Example: 2
The order in which items are listed
desc
Example: asc
Possible values: The nft serial number (64 bit type). Requires a tokenId value also be populated.
{"summary":"--","value":""}
Pattern: ^((eq|gt|gte|lt|lte):)?\d{1,19}?$
The ID of the spender to return information for
{"summary":"--","value":""}
Pattern: ^((gte?|lte?|eq|ne)\:)?(\d{1,10}\.\d{1,10}\.)?\d{1,10}$
The ID of the token to return information for
{"summary":"--","value":""}
Pattern: ^((gte?|lte?|eq|ne)\:)?(\d{1,10}\.\d{1,10}\.)?\d{1,10}$
GET /v1/YOUR_API_KEY/api/v1/accounts/{idOrAliasOrEvmAddress}/nfts HTTP/1.1
Host: mainnet.hedera.validationcloud.io
Accept: */*
{
"nfts": [
{
"account_id": "0.1.2",
"created_timestamp": "1234567890.000000001",
"delegating_spender": "0.0.400",
"deleted": false,
"metadata": "VGhpcyBpcyBhIHRlc3QgTkZU",
"modified_timestamp": "1610682445.003266001",
"serial_number": 124,
"spender_id": "0.0.500",
"token_id": "0.0.222"
}
],
"links": {
"next": "/api/v1/transactions?timestamp=lt:1657598275.517984411"
}
}
Last updated
Was this helpful?