> For the complete documentation index, see [llms.txt](https://dev.plyr.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.plyr.network/api-reference/assets/nfts-erc-721/get-zoo-genes.md).

# Get Zoo Genes

{% hint style="info" %}
Retrieves ZooGenes NFTs owned by a specified username.
{% endhint %}

**Endpoint:** `/nft/{chainName}/zoogenes/{username}`\
**Method:** GET

{% tabs %}
{% tab title="Request Parameters" %}

```typescript
{
	username: string; // The username to query
	chainName: string; // Chain name (avalanche or fuji)
}
```

{% endtab %}

{% tab title="Success Response" %}

```typescript
[
  {
    id: string;            // Zoo Gene ID
    name: string;          // Zoo Gene name
    description: string;   // Zoo Gene description
    image: string;         // Zoo Gene image URL
    generation: number;    // Zoo Gene generation
    attributes: Array<{    // Zoo Gene attributes
      trait_type: string;
      value: string | number;
    }>;
    owner: string;         // Owner address
    tokenId: string;       // Token ID
    contract: string;      // Contract address
  }
]
```

{% endtab %}

{% tab title="Error Response" %}

```typescript
{
  error: string;
  details?: any;
}
```

{% endtab %}
{% endtabs %}

## Example Usage

```javascript
// Setup request parameters
const timestamp = Date.now().toString();
const username = 'player123';
const chainName = 'avalanche'; // or 'fuji' for testnet

// For GET requests with no body, pass null as the body for HMAC
const hmac = generateHmacSignature(timestamp, null, secretKey);

// Make the API request
const response = await axios.get(apiEndpoint + `/nft/${chainName}/zoogenes/${username}`, {
	headers: {
		apikey: apiKey,
		signature: hmac,
		timestamp: timestamp
	}
});

// Process the response
console.log(`Found ${response.data.length} ZooGenes NFTs`);
response.data.forEach((zooGene) => {
	console.log(`ID: ${zooGene.id}`);
	console.log(`Name: ${zooGene.name}`);
	console.log(`Generation: ${zooGene.generation}`);
	console.log(`Image: ${zooGene.image}`);
	console.log(`Token ID: ${zooGene.tokenId}`);
	console.log('---');
});
```
