# NFTListing

`NFTListing` represents individual NFT entries within a given sale. This structure provides a clear and organized way to manage specific NFTs within a larger sale context.

**Key fields:**

* **`id`:** A unique identifier for the listing object. This allows for easy reference and management of individual listings.
* **`nft`:** The actual NFT object being listed. This provides direct access to the NFT's properties and metadata.
* **`sale_id`:** Links the listing to its parent `NFTSale` object. This establishes a clear relationship between the listing and the overarching sale.
* **`asset_id`:** Identifies the NFT within its collection using its unique asset ID. This helps distinguish NFTs within the same collection.
* **`price`:** The price at which the NFT is offered for sale. This can be different from the default `price_per_nft` in the `NFTSale` object, allowing for individual pricing of NFTs.

**Benefits of `NFTListing`:**

* **Granular Control:** Separating `NFTSale` (the overall sale) from `NFTListing` (individual entries) provides more granular control over which NFTs are included in a sale and at what prices.
* **Targeted Purchases:** Buyers can identify and purchase specific NFTs within a sale based on their individual `asset_id` and `price`, rather than treating the sale as an indistinguishable batch of NFTs.
* **Flexibility:** This structure allows for greater flexibility in managing sale listings. For example, sellers can adjust the price of individual `NFTListing` objects without affecting the overall sale parameters.
* **Organization:** `NFTListing` objects help maintain a clear and organized structure for managing NFTs within a sale, improving efficiency and readability.

By utilizing the `NFTListing` structure, the SALE module enables a more refined and user-friendly experience for both sellers and buyers, enhancing the overall marketplace functionality.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.artinals.com/artinals-protocol/sale-module/data-structures/nftlisting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
