> For the complete documentation index, see [llms.txt](https://docs.ggwp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ggwp.com/identity-and-access-management-iam/api-docs-scim/users-apis/create-user.md).

# Create User

### Overview

Creates a new user in the system.

This endpoint is used by identity providers such as Okta and Microsoft Azure Active Directory during user provisioning.

***

### Endpoint

```bash
POST /Users
```

***

### Full URL

```bash
https://api.ggwp.com/scim/v2/Users
```

***

### Authentication

```http
Authorization: Bearer <access_token>
```

***

## Request Body

### Example

```json
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
  "userName": "Temp_user_prod",
  "externalId": "ABC1900BE",
  "name": {
    "givenName": "Temp",
    "familyName": "User"
  },
  "displayName": "Temp User",
  "emails": [
    {
      "value": "temp_user_us@example.com",
      "primary": true
    }
  ],
  "roles": [
    {
      "value": "admin"
    }
  ],
  "active": true
}
```

***

## Body Parameters

### schemas

* **Type:** `array[string]`
* **Required:** Yes
* **Value:**  `urn:ietf:params:scim:schemas:core:2.0:User`&#x20;

***

### userName

* **Type:** `string`
* **Required:** Yes
* **Description:** Unique identifier for the user

***

### name

* **Type:** `object`
* **Required:** Optional

#### Sub-attributes

<table><thead><tr><th width="150.5">Field</th><th width="137.5">Type</th><th>Description</th></tr></thead><tbody><tr><td>givenName</td><td>string</td><td>First name</td></tr><tr><td>familyName</td><td>string</td><td>Last name</td></tr></tbody></table>

***

### emails

* **Type:** `array[object]`
* **Required:** Yes

#### Sub-attributes

<table><thead><tr><th width="134.5">Field</th><th width="143">Type</th><th width="131.5">Required</th><th>Description</th></tr></thead><tbody><tr><td>value</td><td>string</td><td>✅</td><td>Email address</td></tr><tr><td>type</td><td>string</td><td>❌</td><td>work, home</td></tr><tr><td>primary</td><td>boolean</td><td>❌</td><td>Primary email</td></tr></tbody></table>

***

### active

* **Type:** `boolean`
* **Required:** Optional
* **Default:** `true`

***

## Response

### Success (200 OK)

```json
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
  "id": "c118d158-c11b-495b-ab88-f57c8ac473c0",
  "userName": "Temp_user_prod",
  "externalId": "ABC1900BE",
  "active": true,
  "name": {
    "givenName": "Temp",
    "familyName": "User"
  },
  "displayName": "Temp User",
  "emails": [
    {
      "value": "temp_user_us@example.com",
      "primary": true
    }
  ],
  "roles": [
    {
      "value": "admin"
    }
  ],
  "meta": {
    "resourceType": "User",
    "location": "https://api.ggwp.com/scim/v2/Users/c118d158-c11b-495b-ab88-f57c8ac473c0",
    "created": "2026-04-01T11:15:22Z",
    "lastModified": "2026-04-01T11:15:22Z"
  }
}
```

***

## Error Responses

### 400 Bad Request

```json
{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],
  "status": "400",
  "detail": "Invalid request"
}
```

***

### 409 Conflict (Duplicate User)

```json
{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],
  "status": "409",
  "detail": "User with this username already exists"
}
```

***

## Validation Rules

* `schemas` must be present and valid
* `userName` must be unique
* Email format must be valid and unique
* Duplicate users must return `409 Conflict`
* Invalid payload must return `400`
