---
title: "Add moderator or admin"
url: "https://docs.signnow.com/docs/organization/operations/post-v2-organizations-org-id-admins"
type: "endpoint"
section: "organization"
slug: "organization/operations/post-v2-organizations-org-id-admins"
method: "POST"
path: "/v2/organizations/{org_id}/admins"
operation_id: "post-v2-organizations-org-id-admins"
authorization: "bearer"
---

# Add moderator or admin

`POST /v2/organizations/{org_id}/admins`

This endpoint allows API users to add an admin or moderator to an organization.

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `org_id` | string | Yes | ID of the requested organization |

## Request Body

**Schema**

```json
{
  "type": "object",
  "required": [
    "email",
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "minLength": 1,
      "description": "User's type of access in the organization. Possible values: `moderator`, `admin`."
    },
    "email": {
      "type": "string",
      "minLength": 1,
      "description": "Email of the user invited."
    }
  },
  "x-examples": {
    "example-1": {
      "type": "moderator | admin",
      "email": "new_user@gmail.com"
    }
  },
  "description": ""
}
```

**Example** (`application/json`)

```json
{
  "type": "moderator",
  "email": "new_user@email.com"
}
```

## Responses

### 200

Successful response. Returns the ID of the invitation to become an admin or moderator. A user who isn't registered in SignNow is also invited, with the `pending` status.

**Example** (`Successful response`)

```json
{
  "data": {
    "id": "b53da5ff87eb66f1e93961f81f4e7d77ba0189dd",
    "type": "admin",
    "email": "new_admin@email.com",
    "status": "pending"
  }
}
```

### 400

* Wrong, expired, or missing token.
* `email` is missing.
* `type` is missing.
* `type` isn't `admin` or `moderator`.
* `email` isn't a valid email address.
* The user is already an admin or moderator of the organization.

**Example** (`Wrong type`)

```json
{
  "errors": [
    {
      "code": 12004005,
      "message": "The `type` should be equal to `moderator` or admin."
    }
  ]
}
```

**Example** (`Wrong email`)

```json
{
  "errors": [
    {
      "code": 12004006,
      "message": "The `email` is invalid."
    }
  ]
}
```

**Example** (`Wrong token`)

```json
{
  "code": 1537,
  "error": "invalid_token"
}
```

**Example** (`Missing type`)

```json
{
  "errors": [
    {
      "code": 12004003,
      "message": "The `type` field is required."
    }
  ]
}
```

**Example** (`Missing email`)

```json
{
  "errors": [
    {
      "code": 12004001,
      "message": "The `email` field is required."
    }
  ]
}
```

**Example** (`Admin already exists`)

```json
{
  "errors": [
    {
      "code": 12004009,
      "message": "Organization admin exists."
    }
  ]
}
```

### 403

* The user isn't an admin or moderator of the organization.
* A moderator tries to add an admin.
* The user doesn't have an active trial, Professional, or Enterprise subscription.

**Example** (`No subscription`)

```json
{
  "errors": [
    {
      "code": 12003002,
      "message": "Access denied for current subscription."
    }
  ]
}
```

**Example** (`Moderator adds an admin`)

```json
{
  "errors": [
    {
      "code": 12004007,
      "message": "Access denied."
    }
  ]
}
```

**Example** (`Not an admin or moderator`)

```json
{
  "errors": [
    {
      "code": 12003003,
      "message": "Access denied for current administration role in your organization."
    }
  ]
}
```

### 404

The organization doesn't exist or isn't active.

**Example** (`Organization not found`)

```json
{
  "errors": [
    {
      "code": 12003001,
      "message": "Organization `0aa11112b0ed40aab8cab111a76a6eea07f0000e` is not found."
    }
  ]
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X POST \
  "https://api.signnow.com/v2/organizations/{org_id}/admins" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type": "moderator", "email": "new_user@email.com"}'
```

---
*Full reference: https://docs.signnow.com/docs/organization/operations/post-v2-organizations-org-id-admins*
