---
title: "Disconnect Drive Folder"
method: DELETE
path: "/customer-success/companies/{company_id}/drive-folder"
tags: ["Customer success"]
---

# Disconnect Drive Folder

`DELETE /customer-success/companies/{company_id}/drive-folder`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/customer-success/companies/{company_id}/drive-folder`
- Auth: HTTP bearer

Unmap Drive folders from this client. OWNER/ADMIN.

WITH NO SELECTOR, EVERY MAPPING FOR THIS CLIENT IS REMOVED. With one or
more selectors, only the mappings matching all of them are removed. The
files in Drive, and anything already imported, are left alone.

## Path parameters

- `company_id` string, required: Company id.

## Query parameters

- `folder_id` string, nullable: Select the mapping by Google Drive folder id.
- `local_folder_key` string, nullable: Select the mapping by Library folder key.
- `library_folder_id` string, nullable: Select the mapping by Library folder id.
- `library_folder_path` string, nullable: Select the mapping by Library folder path.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Response `200`

Successful Response

- ApiResponseOrgPayload
  - `data` OrgPayload, required: An open envelope for a single role, team, member or account record. Open on purpose. The app's own response models on this surface grow with the product - `RoleResponse` gained `rep_limits` and `manages_role_slugs`, `TeamResponse` gained channel counts and a campaign count - and a pinned mirror would SILENTLY DROP whatever it had not caught up on. A dropped permission in a role read is the worst possible kind of stale: it reads as "they do not have it".
  - `pagination` PaginationMeta
    - `page` integer, required: Current page number (1-indexed)
    - `limit` integer, required: Items per page
    - `total` integer, required: Total number of items
    - `has_next` boolean, required: Whether there are more pages
    - `next_cursor` string, nullable: Opaque cursor for the next page; null when there are no more items. Pass it back as the `cursor` query param to fetch the following page without computing page numbers.
    - `total_available` integer, nullable: Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search.
    - `total_is_lower_bound` boolean, nullable: Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search.
    - `notes` string[], nullable: Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/2e7cfa0ca921?raw)
