# Limit a collection

Ternoa provides you with many collection features. Not only creating a collection can be done in just a few lines of code but we also cover many collection basic use cases: Ternoa allows you to easily create functions to close, limit and burn a collection.

### Prerequisites

Before getting started, make sure you have the following ready:

1. [Create a Ternoa](/getting-started/wallets/ternoa-wallet.md) account with [Alphanet CAPS](broken://pages/ej9gceaLIhCN2PgUBh42)
2. Install and set up your editor of choice (we will use Visual Studio Code \[VSC] in this tutorial)
3. Install [NodeJS v.14+](https://nodejs.org/en/download/) & NPM
4. [Install & initialize Ternoa-JS](/build-1/javascript/ternoa-js-library-utilities/installation-and-initialization.md)

### How to limit a collection of NFT using Ternoa-JS

This function limits a collection of NFT on the Ternoa chain. It returns an object promise containing the CollectionLimitedEvent provided by the Ternoa blockchain. Use your own account by updating the //TernoaTestAccount with your account seed when retrieving the keyring from the example below. **Replace the COLLECTION\_ID** with the one to limit.

**Note:** The collection limit can only be set once. Either at collection creation or using the extrinsic below.

```typescript
import {
	limitCollection,
	initializeApi,
	getKeyringFromSeed,
	WaitUntil,
} from "ternoa-js";

const limitCollection = async () => {
	try {
		await initializeApi();
		const keyring = await getKeyringFromSeed("//TernoaTestAccount");
		const COLLECTION_ID = 1; // the collection id you want to limit
		const collectionData = await limitCollection(
			COLLECTION_ID,
			keyring,
			WaitUntil.BlockInclusion
		);
		console.log(
			`Collection ${collectionData.collectionId} limited to : ${collectionData.limit}`
		);
	} catch (e) {
		console.error(e);
	}
};
```

#### The expected params

```markdown
`id`: The ID of the Collection.
`keyring`: the provided keyring (containing the address) will be used to sign the transaction and pay the execution fee.
`waitUntil`: WaitUntil defines at which point we want to get the results of the transaction execution: BlockInclusion or BlockFinalization.
```

#### Response

The response provided from the blockchain event includes all the information below according to the parameters provided when limiting a collection of NFT.

```markdown
`collectionId`: ID of the limited collection.
`limit`: the limit set for the collection.
```


---

# 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.ternoa.network/build-1/javascript/nft-features-and-pallets/basics-nft-and-collections/collections/limit-a-collection.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.
