openapi: 3.2.0
info:
title: Pipeshub Connector Configuration API
version: 1.0.0
contact:
name: API Support
email: support@pipeshub.com
description: 'Operations tagged Connector Configuration across 2 of this provider''s published API definitions: pipeshub-openapi.yaml, pipeshub-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: '{instance_url}/api/v1'
description: Base API URL
variables:
instance_url:
default: https://app.pipeshub.com
description: Base server URL (without /api/v1)
- url: '{instance_url}'
description: Root URL (used for MCP endpoints mounted at /mcp)
variables:
instance_url:
default: https://app.pipeshub.com
description: Base server URL
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Connector Configuration
description: Configure authentication, sync settings, and filters for connectors
paths:
/connectors/{connectorId}/config:
get:
tags:
- Connector Configuration
summary: Get connector configuration
description: 'Get the current configuration for a connector instance.
Security:
Sensitive data (credentials, OAuth tokens) are redacted from the response.
Only admins can see partial credential information.'
operationId: getConnectorConfig
security:
- bearerAuth: []
- oauth2:
- connector:read
parameters:
- name: connectorId
in: path
required: true
schema:
type: string
responses:
'200':
description: Configuration retrieved
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
config:
$ref: '#/components/schemas/ConnectorConfig'
'401':
description: Unauthorized
'403':
description: No access to this connector
'404':
description: Connector not found
put:
tags:
- Connector Configuration
summary: Update connector configuration
description: 'Update authentication, sync, and filter configuration.
Prerequisites:
Connector must be disabled before updating configuration.
Disable it first using POST /{id}/toggle.
Partial Updates:
Only provide the sections you want to update. Omitted sections
are not modified.'
operationId: updateConnectorConfig
security:
- bearerAuth: []
- oauth2:
- connector:write
parameters:
- name: connectorId
in: path
required: true
schema:
type: string
requestBody:
required: true
description: Request payload
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConnectorConfigRequest'
responses:
'200':
description: Configuration updated
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
config:
$ref: '#/components/schemas/ConnectorConfig'
'400':
description: 'Invalid configuration or connector is active.
Disable connector before updating.
'
'401':
description: Unauthorized
'404':
description: Connector not found
servers:
- url: '{instance_url}/api/v1'
description: Base API URL
variables:
instance_url:
default: https://app.pipeshub.com
description: Base server URL (without /api/v1)
- url: '{instance_url}'
description: Root URL (used for MCP endpoints mounted at /mcp)
variables:
instance_url:
default: https://app.pipeshub.com
description: Base server URL
/connectors/{connectorId}/config/auth:
put:
tags:
- Connector Configuration
summary: Update authentication configuration
description: 'Update only the authentication configuration.
Use Case:
Use this when you need to update credentials without changing
sync or filter settings. Useful for credential rotation.
Prerequisites:
Connector must be disabled. This endpoint clears OAuth state,
requiring re-authentication for OAuth connectors.'
operationId: updateConnectorAuthConfig
security:
- bearerAuth: []
- oauth2:
- connector:write
parameters:
- name: connectorId
in: path
required: true
schema:
type: string
requestBody:
required: true
description: Request payload
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConnectorAuthRequest'
responses:
'200':
description: Auth configuration updated
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
config:
$ref: '#/components/schemas/ConnectorConfig'
'400':
description: Connector must be disabled first
'401':
description: Unauthorized
'404':
description: Connector not found
servers:
- url: '{instance_url}/api/v1'
description: Base API URL
variables:
instance_url:
default: https://app.pipeshub.com
description: Base server URL (without /api/v1)
- url: '{instance_url}'
description: Root URL (used for MCP endpoints mounted at /mcp)
variables:
instance_url:
default: https://app.pipeshub.com
description: Base server URL
/connectors/{connectorId}/config/filters-sync:
put:
tags:
- Connector Configuration
summary: Update filters and sync configuration
description: 'Update filter selections and sync settings without touching auth.
Use Case:
Use this to change what data is synced or adjust sync schedule
without re-authenticating.'
operationId: updateConnectorFiltersSyncConfig
security:
- bearerAuth: []
- oauth2:
- connector:write
parameters:
- name: connectorId
in: path
required: true
schema:
type: string
requestBody:
required: true
description: Request payload
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConnectorFiltersSyncRequest'
responses:
'200':
description: Configuration updated
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
config:
$ref: '#/components/schemas/ConnectorConfig'
message:
type: string
description: Success message
syncFiltersChanged:
type: boolean
description: Indicates whether sync filters changed, requiring a full resync
'401':
description: Unauthorized
'404':
description: Connector not found
servers:
- url: '{instance_url}/api/v1'
description: Base API URL
variables:
instance_url:
default: https://app.pipeshub.com
description: Base server URL (without /api/v1)
- url: '{instance_url}'
description: Root URL (used for MCP endpoints mounted at /mcp)
variables:
instance_url:
default: https://app.pipeshub.com
description: Base server URL
components:
schemas:
ConnectorSyncConfig:
type: object
description: Synchronization configuration for a connector instance
properties:
selectedStrategy:
type: string
enum:
- MANUAL
- SCHEDULED
- WEBHOOK
- REALTIME
description: 'Sync strategy: MANUAL (user-triggered), SCHEDULED (interval/cron), WEBHOOK (event-driven), REALTIME (WebSocket)'
default: MANUAL
scheduledConfig:
type: object
description: Configuration for scheduled sync strategy
properties:
intervalMinutes:
type: integer
description: Sync interval in minutes
minimum: 5
default: 60
example: 60
cronExpression:
type: string
description: Cron expression for advanced scheduling
example: 0 */6 * * *
timezone:
type: string
description: Timezone for scheduled sync
default: UTC
example: America/New_York
webhookConfig:
type: object
description: Configuration for webhook-based sync
properties:
webhookUrl:
type: string
description: URL to receive webhook events (auto-generated)
events:
type: array
items:
type: string
description: Subscribed event types
example:
- file.created
- file.modified
- file.deleted
values:
type: object
description: Sync setting values specific to the connector
additionalProperties: true
customValues:
type: object
description: Custom sync values
additionalProperties: true
ConnectorAuthConfig:
type: object
description: Authentication configuration for a connector instance
properties:
values:
type: object
description: Authentication values (keys depend on connector's auth schema)
additionalProperties: true
example:
apiKey: sk-xxxxx
baseUrl: https://api.example.com
oauthConfigId:
type: string
description: ID of admin-created OAuth configuration to use
example: oauth_config_123
customValues:
type: object
description: Custom authentication values specific to the connector
additionalProperties: true
UpdateConnectorFiltersSyncRequest:
type: object
description: Request to update filters and sync config (connector must be authenticated and inactive)
properties:
sync:
$ref: '#/components/schemas/ConnectorSyncConfig'
filters:
$ref: '#/components/schemas/ConnectorFiltersConfig'
baseUrl:
type: string
format: uri
ConnectorAuthType:
type: string
description: 'Authentication method required by the connector:
OAUTH - User OAuth consent flowOAUTH_ADMIN_CONSENT - Admin OAuth with org-wide consentAPI_TOKEN - API key or token authenticationUSERNAME_PASSWORD - Username/password credentialsNONE - No authentication requiredteam - Available to all users in the organization (admin-only creation)personal - Private to the creating user only