---
title: "Delete connector by ID"
method: DELETE
path: "/contents/v1/connectors/{connector_id}"
tags: ["Connectors"]
---

# Delete connector by ID

`DELETE /contents/v1/connectors/{connector_id}`

By default, soft-deletes a connector: the connector is marked as archived and will no longer ingest new content; existing documents that were ingested by this connector remain available. The operation is idempotent for an already-archived connector.

To permanently remove the connector and all related data, add the query parameter `force_delete=true`. This triggers a hard delete flow: all files related to this connector are deleted asynchronously. Once all files are deleted, the connector is removed from the database (final step of the async process). The deletion process is asynchronous.

## Path parameters

- `connector_id` string, uuid, required

## Query parameters

- `force_delete` boolean

## Response `200`

Without force_delete: the connector object in its archived state; it will no longer accept new content and existing documents are unchanged. With force_delete=true: the request is accepted and the hard delete runs asynchronously (all related files are deleted, then the connector is removed from the database).

- Connector — An ingestion source (e.g. email inbox, investment research / broker feed, or Microsoft SharePoint). Returned by Create/Get/Update connector and List connectors.
  - `connector_id` string, uuid, required — Unique identifier for the connector. Use when updating, deleting, or filtering documents by connector.
  - `user_id` string, required — ID of the user who owns the connector.
  - `org_id` string, required — ID of the organization the connector belongs to.
  - `share_with_org` boolean, required — If true, all members of your organization can access the processed content. If false, only you can access the processed content.
  - `label` string, required — Display name for the connector (e.g. for UI or admin lists).
  - `type` 'email' | 'investment_research' | 'sharepoint', required — Connector type. Determines the configuration and how content is ingested.
  - `description` string — Optional human-readable description of what the connector is used for.
  - `config` union — Type-specific settings. Email connectors return inbox and allowed senders; investment research connectors return `user_id` only (never `user_password`); SharePoint connectors return `config` as `{}`.
    - EmailConnectorResponseConfig — Email connector configuration as returned by the API. Contains allowed_emails and the inbox email address.
      - `allowed_emails` string[] — Sender addresses that are allowed to send content to this connector.
      - `email_hash` string — Unique hash identifier for the email connector.
      - `email` string, email, nullable — Inbox address to forward emails to; only messages from allowed_emails are processed.
    - InvestmentResearchConnectorResponseConfig — Investment research connector configuration as returned by the API. Only non-secret fields are present.
      - `user_id` string, required — Broker or research portal user id (often an email address).
    - SharepointConnectorResponseConfig — SharePoint connector **`config`** in **List**, **Get**, **Create**, and **Update** responses: always empty. **`session_id`** is accepted only on **POST create** and is **never** present in any response.
  - `files_count` integer — Number of files ingested through this connector, when tracked (e.g. investment research sync).
  - `last_sync_at` string, date-time, nullable — Timestamp of the last sync from the external source, when applicable.
  - `last_sync_status` string, nullable — Outcome of the last sync (e.g. SUCCESS), when applicable.
  - `last_sync_error_msg` string, nullable — Error message from the last sync when it failed; null on success.
  - `last_sync_count` integer, nullable — Number of items processed in the last sync, when applicable.
  - `created_at` string, date-time, required — Timestamp when the connector was created.
  - `updated_at` string, date-time, required — Timestamp when the connector was last updated.
  - `archived` boolean, required — Whether the connector is archived.

## Other responses

- `400` — Invalid request (e.g. malformed connector_id).
- `401` — Unauthorized - Invalid or missing API key.
- `404` — No connector found with this ID, or the user does not have permission to delete it.

---

[API](https://skmtc.dev/bigdata/apis/bigdata-structured-data-api.md) · [All operations](https://skmtc.dev/bigdata/apis/bigdata-structured-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bigdata/bigdata-structured-data-api/revisions/18082de268c4/schema)
