---
title: "Create connector"
method: POST
path: "/contents/v1/connectors"
tags: ["Connectors"]
---

# Create connector

`POST /contents/v1/connectors`

We recommend using **[Bigdata Connectors Management](https://platform.bigdata.com/connectors)** on the Developer Platform—the guided experience sets up connectors in **four simple steps**. You can also call this endpoint to register connectors programmatically.

Provide the connector **type**, **label**, and type-specific **config**.

For **email** connectors, an inbox is created and its address is returned; forward emails from allowed senders to that address to ingest, process and index incoming content.

For **investment_research** connectors, provide broker credentials and the platform will sync research documents from the broker feed.

For **sharepoint** (Microsoft SharePoint) connectors, set `"type": "sharepoint"` and supply **`config.session_id`** only. Contact [support@bigdata.com](mailto:support@bigdata.com) to know more about how to generate this parameter.

## Request body

- ConnectorCreatePayload — Payload for creating a new connector.
  - `type` 'email' | 'investment_research' | 'sharepoint', required — Type of the connector. If type is `email`, an inbox is created for forwarding messages into Bigdata. If type is `investment_research`, provide broker credentials in `config` for automated sync of research documents.
  - `label` string, required — Display name for the connector (e.g. for admin UIs or List connectors).
  - `description` string — Optional short description of what this connector is used for.
  - `share_with_org` boolean — If true, all members of your organization can access the processed content. If false, only you can access the processed content.
  - `config` union, required — Connector-specific configuration. The structure depends on the connector type.
    - EmailConnectorConfig — Configuration for email connectors.
      - `allowed_emails` string[] — List of approved email addresses. Only emails from these addresses will be processed.
      - `email_hash` string, required — Unique hash identifier for the email connector.
      - `email` string, email, nullable — The Bigdata inbox address for this connector. Returned after creation; forward emails from allowed_emails to this address to ingest them.
    - InvestmentResearchConnectorConfig — Configuration for **investment_research** connectors (create). Use the broker account login supplied by your data provider. `user_password` is write-only and is never returned by the API.
      - `user_id` string, required — Broker or research portal user id (often an email address).
      - `user_password` string, password, required — Broker or research portal password. Required when creating the connector; never included in list or get responses.
    - SharepointConnectorConfig — Configuration for SharePoint connectors (for create/update requests).
      - `session_id` string, required — Token that represents the session authenticated via OAuth. Contact [support@bigdata.com](mailto:support@bigdata.com) if you would like to know more about how to generate this parameter.

## Response `200`

The created connector. **Email** and **investment_research** responses include the non-secret fields described for each type. **Sharepoint** responses return **`config` as `{}`

- 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. missing required fields, invalid configuration for the connector type).
- `401` — Unauthorized - Invalid or missing API key.

---

[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)
