# Member Directory commands: deactivate, deprovision, provision

URL: /code/cli/member-directory/verbs · Id: `page:code/cli/member-directory/verbs`

> The Member Directory Verbs deactivate, deprovision, provision as CLI commands, with inputs, result, refusals and an example.

Reference for [Member Directory](/business/nouns/member-directory), one group of [Member Directory commands](/code/cli/member-directory).

### MemberDirectory.deactivate
Deactivate stops a Member Directory’s pushes; everyone it added keeps their Roles until an admin removes them. [Verb page](/business/nouns/member-directory/deactivate?interface=cli).

```text
npx startup-builder do MemberDirectory.deactivate --json '<input>' [--try | --send | --do]
```

Emits [`MemberDirectory.deactivated`](/business/events/MemberDirectory.deactivated).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `directory` | [Member Directory](/business/nouns/member-directory) | Yes | The Member Directory to turn off. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `directory` | [Member Directory](/business/nouns/member-directory) | Yes | The Member Directory, now `inactive`. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```bash
npx startup-builder do MemberDirectory.deactivate --json '{"directory":"directory_qZldlwGLVN"}'
```

### MemberDirectory.deprovision
Deprovision ends one person’s access to a Tenant in one Action when the Customer’s directory removes them. [Verb page](/business/nouns/member-directory/deprovision?interface=cli).

```text
npx startup-builder do MemberDirectory.deprovision --json '<input>' [--try | --send | --do]
```

Emits [`MemberDirectory.deprovisioned`](/business/events/MemberDirectory.deprovisioned).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `directory` | [Member Directory](/business/nouns/member-directory) | Yes | The Member Directory that removed the person. |
| `person` | [Person](/business/nouns/person) | Yes | The person removed. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `person` | [Person](/business/nouns/person) | Yes | The person, with no Role left in the Tenant. |
| `memberDirectory` | [Member Directory](/business/nouns/member-directory) | Yes | The Member Directory that removed the person. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```bash
npx startup-builder do MemberDirectory.deprovision --json '{"directory":"directory_qZldlwGLVN","person":"person_sLqbXbW683"}'
```

### MemberDirectory.provision
Provision starts a Customer’s Member Directory pushing people and groups into its Tenant, with groups mapped to Roles. [Verb page](/business/nouns/member-directory/provision?interface=cli).

```text
npx startup-builder do MemberDirectory.provision --json '<input>' [--try | --send | --do]
```

Emits [`MemberDirectory.provisioned`](/business/events/MemberDirectory.provisioned).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `tenant` | [Tenant](/business/nouns/tenant) | Yes | The Tenant it fills. |
| `groupRoles` | `json` | No | Which group fills which Role. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `directory` | [Member Directory](/business/nouns/member-directory) | Yes | The Member Directory, now active. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```bash
npx startup-builder do MemberDirectory.provision --json '{"tenant":"ten_Bu63f0he26"}'
```