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

# Create Badge

{% hint style="info" %}
Creates a new badge with specified metadata.
{% endhint %}

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

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

```typescript
{
    name: string;             // Name of the badge
    description: string;     // Description of the badge
    slug: slug                // Slug of this badge / Alias name of Badge
    image?: string;          // Optional image URL for the badge
    attributes?: object[];    // Optional array of attributes
}
```

{% endtab %}

{% tab title="Success Response" %}

```typescript
{
    success: true
}
```

{% endtab %}

{% tab title="Error Response" %}

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

{% endtab %}
{% endtabs %}

## Example Usage

```javascript
// Setup request parameters
const timestamp = Date.now().toString();
const body = {
    name: 'Game Achievement Badge',
    description: 'Badge awarded for game achievements',
    slug: 'gab'
    image: 'https://example.com/badge.png',
    attributes: [
        { trait_type: 'RARITY', value: 'common' },
        { trait_type: 'Version', value: '1.0' }
    ],
};

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

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

// Process the response
console.log('Create Task ID:', response.data.taskId);
console.log('Transaction Hash:', response.data.data.transactionHash);
```
