> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qwoty.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer une catégorie

> Créer une nouvelle catégorie de produits dans votre espace de travail

## Autorisation

**Authorization** `string` *required*

Jeton Bearer pour l'authentification. Format : `Bearer qwoty_your_token`

## Corps de la requête

**api\_name** `string` *required*

Identifiant API unique (snake\_case). Ne peut contenir que des lettres minuscules,
des chiffres et des underscores. Ne peut pas commencer ni se terminer par un underscore.

**name** `string` *required*

Nom de la catégorie

**description** `string`

Description de la catégorie

**is\_active** `boolean` (default: true)

Statut actif

**parent\_category\_id** `string`

UUID de la catégorie parente, pour une organisation hiérarchique

## Exemples

```bash cURL theme={null}
curl -X POST https://qwoty.app/api/categories \
  -H "Authorization: Bearer qwoty_your_token" \
  -H "Content-Type: application/json" \
  -d '{
    "api_name": "electronics",
    "name": "Electronics",
    "description": "Electronic products and accessories",
    "is_active": true
  }'
```

```bash Avec une catégorie parente theme={null}
curl -X POST https://qwoty.app/api/categories \
  -H "Authorization: Bearer qwoty_your_token" \
  -H "Content-Type: application/json" \
  -d '{
    "api_name": "smartphones",
    "name": "Smartphones",
    "description": "Mobile phones and accessories",
    "is_active": true,
    "parent_category_id": "550e8400-e29b-41d4-a716-446655440001"
  }'
```

```javascript JavaScript theme={null}
const response = await fetch('https://qwoty.app/api/categories', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer qwoty_your_token',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    api_name: 'electronics',
    name: 'Electronics',
    description: 'Electronic products and accessories',
    is_active: true,
  }),
})

const data = await response.json()
```

```python Python theme={null}
import requests

response = requests.post(
    'https://qwoty.app/api/categories',
    headers={
        'Authorization': 'Bearer qwoty_your_token',
        'Content-Type': 'application/json'
    },
    json={
        'api_name': 'electronics',
        'name': 'Electronics',
        'description': 'Electronic products and accessories',
        'is_active': True
    }
)

data = response.json()
```

## Réponse

**success** `boolean`

Indique si la requête a réussi

**data** `object`

Objet catégorie créé

**Objet catégorie**

**id** `string`

Identifiant unique (UUID)

**workspace\_id** `string`

ID de l'espace de travail (UUID)

**name** `string`

Nom de la catégorie

**api\_name** `string`

Identifiant API

**description** `string`

Description de la catégorie

**is\_active** `boolean`

Statut actif

**parent\_category\_id** `string | null`

ID de la catégorie parente (UUID)

**created\_at** `string`

Date de création (ISO 8601)

**updated\_at** `string`

Date de dernière modification (ISO 8601)

```json 201 Created theme={null}
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440001",
    "workspace_id": "660e8400-e29b-41d4-a716-446655440000",
    "name": "Electronics",
    "api_name": "electronics",
    "description": "Electronic products and accessories",
    "is_active": true,
    "parent_category_id": null,
    "created_at": "2026-01-15T10:00:00Z",
    "updated_at": "2026-01-15T10:00:00Z"
  }
}
```

## Réponses d'erreur

```json 400 Erreur de validation theme={null}
{
  "error": "Validation error",
  "details": [
    "Field 'api_name' is required"
  ]
}
```

```json 400 api_name invalide theme={null}
{
  "error": "Validation error",
  "details": [
    "Field 'api_name' can only contain lowercase letters, numbers and underscores (cannot start or end with underscore)"
  ]
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.