> 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/badge/mint-badge.md).

# Mint Badge

{% hint style="info" %}
Mints a new badge to a specified recipient address with associated metadata.
{% endhint %}

**Endpoint:** `/game/badge/mint`\
**Method:** POST

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

```typescript
{
    slugs: string[];           // Array of badge slugs
    plyrIds: string[];      // Array of recipient PLYR[ID]
}
```

{% endtab %}

{% tab title="Success Response" %}

```typescript
{
    taskId: string;
    result: [{
        gameId: string; 
        from: string; 
        to: string;
        tokenId: string;
        hash: string
    }]
    status: string;
    hash: string;
}
```

{% endtab %}

{% tab title="Error Response" %}

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

{% endtab %}
{% endtabs %}

{% hint style="info" %}
The \`slugs\`, and \`plyrIds\` arrays must have the same length. Each index represents a mint operation.
{% endhint %}

## Example Usage

```javascript
// Setup request parameters
const timestamp = Date.now().toString();
const body = {
    slugs: ['slugA'], // Badge slugs
    plyrIds: ['fennec'], // Recipient PLYR[ID]
};

// Generate HMAC signature
const hmac = generateHmacSignature(timestamp, body, secretKey);

// Make the API request
const response = await axios.post(apiEndpoint + '/game/badge/mint', body, {
    headers: {
        apikey: apiKey,
        signature: hmac,
        timestamp: timestamp
    }
});

// Process the response
console.log('Mint Task ID:', response.data.taskId);
console.log('Transaction Hash:', response.data.hash);
console.log('Token ID:', response.data.data.tokenId);
```
