---
title: "Get connector configuration"
method: GET
path: "/connectors/{connectorId}/config"
tags: ["Connector Configuration"]
---

# Get connector configuration

`GET /connectors/{connectorId}/config`

## Request

- Base URL: `https://app.pipeshub.com/api/v1`
- URL: `https://app.pipeshub.com/api/v1/connectors/{connectorId}/config`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `/api/v1/oauth2/authorize`
    - Client credentials
    - Token URL: `/api/v1/oauth2/token` scopes: `connector:read`

Get the current configuration for a connector instance.<br><br>
<b>Security:</b><br>
Stored credentials and OAuth tokens (<code>credentials</code>, <code>oauth</code>)
are never returned. The saved <code>auth</code> values are returned so the
form can be edited, except that each secret (an <code>isSecret</code> or
<code>PASSWORD</code> field of the connector type's auth schema, and a
legacy <code>private_key</code>) comes back as <code>••••••••</code>.
Sending that mask back on a save keeps the stored value. A personal connector's configuration is only
readable by its creator: to anyone else, admins included, it is
answered `404` as if it did not exist. A team connector of another
user is answered `404` to a member.

## Path parameters

- `connectorId` string, required

## Response `200`

Saved configuration

- object
  - `success` boolean, required
  - `config` ConnectorConfig, required
    - `connector_id` string: Connector instance ID
    - `name` string: Instance name
    - `type` string: Connector type
    - `appGroup` string
    - `authType` string, nullable: Authentication method chosen when the instance was created
    - `scope` 'team' | 'personal': Scope determines visibility and access control for connectors:<br> <ul> <li><code>team</code> - Available to all users in the organization (admin-only creation)</li> <li><code>personal</code> - Private to the creating user only</li> </ul>
    - `createdBy` string, nullable: User ID who created this instance
    - `updatedBy` string, nullable: User ID who last changed this instance
    - `appDescription` string
    - `appCategories` string[]
    - `supportsRealtime` boolean
    - `supportsSync` boolean
    - `supportsAgent` boolean
    - `iconPath` string
    - `config` ConnectorStoredConfig: A connector instance's saved settings. Secret auth fields come back masked; saving the mask back keeps the stored value. Provider OAuth tokens are never returned.
      - `auth` object: Auth fields for the instance's auth type, keyed by field name
        - `authType` 'OAUTH' | 'OAUTH_ADMIN_CONSENT' | 'API_TOKEN' | 'BEARER_TOKEN' | 'BASIC_AUTH' | 'ACCESS_KEY' | 'IAM_ROLE' | 'ACCOUNT_KEY' | 'CONNECTION_STRING' | 'ENTRA_ID' | 'CUSTOM' | 'NONE': How a connector instance signs in to its source. Each connector type supports a subset; see `supportedAuthTypes` in the registry.
        - `connectorType` string: Set by the server to the instance's connector type
        - `connectorScope` 'team' | 'personal': Scope determines visibility and access control for connectors:<br> <ul> <li><code>team</code> - Available to all users in the organization (admin-only creation)</li> <li><code>personal</code> - Private to the creating user only</li> </ul>
        - `oauthConfigId` string: The shared OAuth app the instance signs in with
        - `oauthInstanceName` string
        - `redirectUri` string: OAuth redirect URI the server built for this instance
      - `sync` object: Sync strategy plus connector-specific sync settings
        - `selectedStrategy` string: `MANUAL`, `SCHEDULED` or `WEBHOOK`
        - `scheduledConfig` object: Schedule used when `selectedStrategy` is `SCHEDULED`
        - `customValues` object: Values of the connector's own sync fields
      - `filters` object: Saved filter selections
        - `sync` object: What to fetch from the source. Selections are under `values`, keyed by filter name.
        - `indexing` object: Which fetched records to index. Selections are under `values`, keyed by filter name.
    - `isActive` boolean
    - `isConfigured` boolean
    - `isAuthenticated` boolean
    - `createdAtTimestamp` integer, nullable: Creation time, epoch milliseconds
    - `updatedAtTimestamp` integer, nullable: Last update time, epoch milliseconds

## Other responses

- `400`: Invalid request: a parameter or the body failed validation Also returned, before authentication, when a query value, or any string in a JSON or form-encoded body, looks like markup to the app-wide XSS filter: an HTML tag, a script tag, `<iframe`, `<object`, `<embed` or `<svg` tag, a word starting with `on` followed by `=` (meant for inline event handlers such as `onerror=`, it also catches plain text such as `one=1`), a `javascript:` or `data:text/html` URL, an encoded script tag (`&lt;script`, `%3cscript`), or any string longer than 100,000 characters (`HTTP_BAD_REQUEST`, "HTML tags, scripts, and XSS content are not allowed in ...", naming the field or query parameter; a string over 100,000 characters is refused as too long instead). A JSON body that does not parse is refused the same way, also before authentication (`HTTP_BAD_REQUEST`, "The request body is not valid JSON.").
- `401`: Missing or invalid credentials
- `403`: The token lacks a required scope, or the caller may not use this connector
- `404`: Not found, or the caller has no access
- `500`: The configuration could not be read. A JSON body larger than 10 MB, or a form-encoded body larger than 100 KB or with more than 1000 fields, is answered `413` by the app-wide body parsers instead, also before authentication.

## Changes

- **2026-10-28** `dbb5e203b445`: 5 breaking, 18 info
  - the response property `config/authType` became nullable for the status `200`
  - the response property `config/createdAtTimestamp` became nullable for the status `200`
  - the response property `config/createdBy` became nullable for the status `200`
  - the response property `config/updatedAtTimestamp` became nullable for the status `200`
  - …19 more
- **2026-10-26** `fc76aa045994`: 4 warning
  - added the new `ENTRA_ID` enum value to the `config/authType` response property for the response status `200`
  - added the new `ENTRA_ID` enum value to the `config/config/auth/authType` response property for the response status `200`
  - added the new `IAM_ROLE` enum value to the `config/authType` response property for the response status `200`
  - added the new `IAM_ROLE` enum value to the `config/config/auth/authType` response property for the response status `200`
- **2026-10-15** `a44792e4f0e6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pipeshub-ai/apis/pipeshub-api/changes/connectors/:connectorId/config/get.md)

---

[API](https://skmtc.dev/pipeshub-ai/apis/pipeshub-api.md) - [All operations](https://skmtc.dev/pipeshub-ai/apis/pipeshub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pipeshub-ai/apis/pipeshub-api/revisions/dbb5e203b445?raw)
