---
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`

Adds admin or moderator to 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

Returns ID of the invitation to become moderator/admin in case of successful response. Returns an error when:

* If moderator tries to add admin to org, "code": 12004007. Message: "Access denied."
* If user who is not the admin or moderator tries to add admin or moderator to org or admin or moderator with pending status tries to add admin or moderator to org, "code": 12003003. Message: "Access denied for current administration role in your organization."
* If user who does not have appropriate subscription tries to add admins or moderators to org, "code": 12003002. Message: "Access denied for current asubscription."
* If user tries to add admin or moderator who already exists in org, "code": 12004009. Message: "Organization admin exists."
* If user tries to add admin or moderator who is not registered in SignNow, "code": 12004008. Message: "User `user@email.com` is not found."
* If org is not active or does not exist at all, "code": 12003001. Message: "Organization `92XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX` is not found."
* Request without mandatory parameters, "code": 12004001. Message: "The `email` field is required."; 12004003 - "The `type` field is required.";
* Request with invalid value of type parameter, "code": 12004005. Message: "The `type` should be equal to `moderator` or admin."
* Request with invalid value of email parameter, "code": 12004006. Message: "The `email` is invalid."

**Example** (`example-1`)

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

## 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*
