# Create a group

`POST /admin/groups.json`

Authentication: no security requirement declared for this operation.

Request body: application/json

Type: any

- `group` (required)
  Type: object
  
  - `name` (required)
    Type: string
  
  - `full_name` (optional)
    Type: string
  
  - `bio_raw` (optional)
    Type: string
    
    About Group
  
  - `usernames` (optional)
    Type: string
    
    comma,separated
  
  - `owner_usernames` (optional)
    Type: string
    
    comma,separated
  
  - `automatic_membership_email_domains` (optional)
    Type: string
    
    pipe|separated
  
  - `visibility_level` (optional)
    Type: integer
  
  - `primary_group` (optional)
    Type: boolean
  
  - `flair_icon` (optional)
    Type: string
  
  - `flair_upload_id` (optional)
    Type: integer
  
  - `flair_bg_color` (optional)
    Type: string
  
  - `public_admission` (optional)
    Type: boolean
  
  - `public_exit` (optional)
    Type: boolean
  
  - `default_notification_level` (optional)
    Type: integer
  
  - `muted_category_ids` (optional)
    Type: Array<integer>
    
    Items:
      Type: integer
  
  - `regular_category_ids` (optional)
    Type: Array<integer>
    
    Items:
      Type: integer
  
  - `watching_category_ids` (optional)
    Type: Array<integer>
    
    Items:
      Type: integer
  
  - `tracking_category_ids` (optional)
    Type: Array<integer>
    
    Items:
      Type: integer
  
  - `watching_first_post_category_ids` (optional)
    Type: Array<integer>
    
    Items:
      Type: integer
  
  Additional properties: false

Additional properties: false

Responses:

- 200: group created

Content type: application/json

Type: any

- `basic_group` (required)
  Type: object
  
  - `id` (required)
    Type: integer
  
  - `automatic` (required)
    Type: boolean
  
  - `name` (required)
    Type: string
  
  - `user_count` (required)
    Type: integer
  
  - `mentionable_level` (required)
    Type: integer
  
  - `messageable_level` (required)
    Type: integer
  
  - `visibility_level` (required)
    Type: integer
  
  - `primary_group` (required)
    Type: boolean
  
  - `title` (required)
    Type: string; nullable
  
  - `grant_trust_level` (required)
    Type: string; nullable
  
  - `incoming_email` (required)
    Type: string; nullable
  
  - `has_messages` (required)
    Type: boolean
  
  - `flair_url` (required)
    Type: string; nullable
  
  - `flair_bg_color` (required)
    Type: string; nullable
  
  - `flair_color` (required)
    Type: string; nullable
  
  - `bio_raw` (required)
    Type: string; nullable
  
  - `bio_cooked` (required)
    Type: string; nullable
  
  - `bio_excerpt` (required)
    Type: string; nullable
  
  - `public_admission` (required)
    Type: boolean
  
  - `public_exit` (required)
    Type: boolean
  
  - `allow_membership_requests` (required)
    Type: boolean
  
  - `full_name` (required)
    Type: string; nullable
  
  - `default_notification_level` (required)
    Type: integer
  
  - `membership_request_template` (required)
    Type: string; nullable
  
  - `members_visibility_level` (required)
    Type: integer
  
  - `can_see_members` (required)
    Type: boolean
  
  - `can_admin_group` (required)
    Type: boolean
  
  - `can_edit_group` (optional)
    Type: boolean
  
  - `publish_read_state` (required)
    Type: boolean
  
  Additional properties: false

Additional properties: false

## Examples

### cURL

```bash
curl -X POST 'https://discourse.example.com/admin/groups.json' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "group": {
    "name": "string",
    "full_name": "string",
    "bio_raw": "string",
    "usernames": "string",
    "owner_usernames": "string",
    "automatic_membership_email_domains": "string",
    "visibility_level": 0,
    "primary_group": true,
    "flair_icon": "string",
    "flair_upload_id": 0,
    "flair_bg_color": "string",
    "public_admission": true,
    "public_exit": true,
    "default_notification_level": 0,
    "muted_category_ids": [
      0
    ],
    "regular_category_ids": [
      0
    ],
    "watching_category_ids": [
      0
    ],
    "tracking_category_ids": [
      0
    ],
    "watching_first_post_category_ids": [
      0
    ]
  }
}'
```

### JavaScript

```javascript
const body = `{
  "group": {
    "name": "string",
    "full_name": "string",
    "bio_raw": "string",
    "usernames": "string",
    "owner_usernames": "string",
    "automatic_membership_email_domains": "string",
    "visibility_level": 0,
    "primary_group": true,
    "flair_icon": "string",
    "flair_upload_id": 0,
    "flair_bg_color": "string",
    "public_admission": true,
    "public_exit": true,
    "default_notification_level": 0,
    "muted_category_ids": [
      0
    ],
    "regular_category_ids": [
      0
    ],
    "watching_category_ids": [
      0
    ],
    "tracking_category_ids": [
      0
    ],
    "watching_first_post_category_ids": [
      0
    ]
  }
}`;

const response = await fetch('https://discourse.example.com/admin/groups.json', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body,
});

const data = await response.text();
```

### Python

```python
import requests

body = '''{
  "group": {
    "name": "string",
    "full_name": "string",
    "bio_raw": "string",
    "usernames": "string",
    "owner_usernames": "string",
    "automatic_membership_email_domains": "string",
    "visibility_level": 0,
    "primary_group": true,
    "flair_icon": "string",
    "flair_upload_id": 0,
    "flair_bg_color": "string",
    "public_admission": true,
    "public_exit": true,
    "default_notification_level": 0,
    "muted_category_ids": [
      0
    ],
    "regular_category_ids": [
      0
    ],
    "watching_category_ids": [
      0
    ],
    "tracking_category_ids": [
      0
    ],
    "watching_first_post_category_ids": [
      0
    ]
  }
}'''

response = requests.post(
    'https://discourse.example.com/admin/groups.json',
    data=body.encode('utf-8'),
    headers={
        'Content-Type': 'application/json',
    },
)
print(response.text)
```
