# GraphQL

```graphql
mutation createUser (
    $email: Email!
    $first_name: String
    $last_name: String
    $admin: Boolean
    $send_invite_email: Boolean
) {
    createUser (
        email: $email
        first_name: $first_name
        last_name: $last_name
        admin: $admin
        send_invite_email: $send_invite_email
    )
}
```

## Query Response

### `200`

#### Object
- `email`: string
- `first_name`: string
- `last_name`: string
- `admin`: boolean (Defaults to true)
- `send_invite_email`: boolean (Defaults to true)

### `400`

## Example Usage in NodeShell

```javascript
var axios = require('axios');

var data = JSON.stringify({
  query: `mutation createUser (

$email: Email!

$first_name: String

$last_name: String

$admin: Boolean

$send_invite_email: Boolean
) {

createUser (

email: $email

first_name: $first_name

last_name: $last_name

admin: $admin

send_invite_email: $send_invite_email
    )
}`,
  variables: {"email":"","first_name":"","last_name":"","admin":true,"send_invite_email":true}
});

var config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://sandbox.external.routefusion.com/graphql',
  headers: {
    'Content-Type': 'application/json'
  },
  data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});
```

## Example JSON Response

```json
{
  "email": "",
  "first_name": "",
  "last_name": "",
  "admin": true,
  "send_invite_email": true
}
```
