Openwork Connectors API
The Connectors API from Openwork — 21 operation(s) for connectors.
Documentation
Documentation
https://openworklabs.com/docs
APIReference
https://openworklabs.com/docs/api-reference
The Connectors API from Openwork — 21 operation(s) for connectors.
openapi: 3.1.0
info:
title: Den Admin Connectors API
description: 'OpenAPI spec for the Den control plane API.
Authentication:
- Use `Authorization: Bearer <session-token>` for user-authenticated routes that require a Den session.
- Use `x-api-key: <den-api-key>` for API-key-authenticated routes that accept organization API keys.
- Public routes like health and documentation do not require authentication.
Swagger tip: use the security schemes in the Authorize dialog to set either `bearerAuth` or `denApiKey` before trying protected endpoints.'
version: dev
servers:
- url: https://api.openworklabs.com
tags:
- name: Connectors
paths:
/v1/connector-accounts:
get:
operationId: getV1ConnectorAccounts
parameters:
- in: query
name: cursor
schema:
type: string
minLength: 1
maxLength: 255
- in: query
name: limit
schema:
type: integer
minimum: 1
maximum: 100
- in: query
name: connectorType
schema:
type: string
enum:
- github
- in: query
name: status
schema:
type: string
enum:
- active
- inactive
- disconnected
- error
- in: query
name: q
schema:
type: string
minLength: 1
maxLength: 255
tags:
- Connectors
summary: List connector accounts
description: Lists connector accounts for the organization.
responses:
'200':
description: Connector accounts returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorAccountListResponse'
'400':
description: The connector account query parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to list connector accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
post:
operationId: postV1ConnectorAccounts
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
connectorType:
type: string
enum:
- github
remoteId:
type: string
minLength: 1
maxLength: 255
externalAccountRef:
anyOf:
- type: string
minLength: 1
maxLength: 255
- type: 'null'
displayName:
type: string
minLength: 1
maxLength: 255
metadata:
type: object
properties: {}
additionalProperties: {}
required:
- connectorType
- remoteId
- displayName
tags:
- Connectors
summary: Create connector account
description: Creates a connector account such as a GitHub App installation binding.
responses:
'201':
description: Connector account created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorAccountMutationResponse'
'400':
description: The connector account creation request was invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to create connector accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to create connector accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
/v1/connector-accounts/{connectorAccountId}:
get:
operationId: getV1ConnectorAccountsByConnectorAccountId
parameters:
- in: path
name: connectorAccountId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cac_.*
required: true
description: Den TypeID with 'cac_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: Get connector account
description: Returns one connector account detail.
responses:
'200':
description: Connector account returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorAccountDetailResponse'
'400':
description: The connector account path parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to view connector accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'404':
description: The connector account could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-accounts/{connectorAccountId}/disconnect:
post:
operationId: postV1ConnectorAccountsByConnectorAccountIdDisconnect
parameters:
- in: path
name: connectorAccountId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cac_.*
required: true
description: Den TypeID with 'cac_' prefix and a 26-character base32 suffix.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
reason:
type: string
minLength: 1
maxLength: 255
tags:
- Connectors
summary: Disconnect connector account
description: Disconnects a connector account and cleans up all associated connector-managed records.
responses:
'200':
description: Connector account disconnected and cleaned up successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorAccountDisconnectResponse'
'400':
description: The connector account disconnect request was invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to manage connector accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to manage connector accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector account could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances:
get:
operationId: getV1ConnectorInstances
parameters:
- in: query
name: cursor
schema:
type: string
minLength: 1
maxLength: 255
- in: query
name: limit
schema:
type: integer
minimum: 1
maximum: 100
- in: query
name: connectorAccountId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cac_.*
description: Den TypeID with 'cac_' prefix and a 26-character base32 suffix.
- in: query
name: connectorType
schema:
type: string
enum:
- github
- in: query
name: pluginId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^plg_.*
description: Den TypeID with 'plg_' prefix and a 26-character base32 suffix.
- in: query
name: status
schema:
type: string
enum:
- active
- disabled
- archived
- error
- in: query
name: q
schema:
type: string
minLength: 1
maxLength: 255
tags:
- Connectors
summary: List connector instances
description: Lists connector instances visible to the current member.
responses:
'200':
description: Connector instances returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceListResponse'
'400':
description: The connector instance query parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to list connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
post:
operationId: postV1ConnectorInstances
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
connectorAccountId:
description: Den TypeID with 'cac_' prefix and a 26-character base32 suffix.
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cac_.*
connectorType:
type: string
enum:
- github
remoteId:
anyOf:
- type: string
minLength: 1
maxLength: 255
- type: 'null'
name:
type: string
minLength: 1
maxLength: 255
config:
type: object
properties: {}
additionalProperties: {}
required:
- connectorAccountId
- connectorType
- name
tags:
- Connectors
summary: Create connector instance
description: Creates a new connector instance.
responses:
'201':
description: Connector instance created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceMutationResponse'
'400':
description: The connector instance creation request was invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to create connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to create connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector account could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}:
get:
operationId: getV1ConnectorInstancesByConnectorInstanceId
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: Get connector instance
description: Returns one connector instance detail.
responses:
'200':
description: Connector instance returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceDetailResponse'
'400':
description: The connector instance path parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to view connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
patch:
operationId: patchV1ConnectorInstancesByConnectorInstanceId
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
remoteId:
anyOf:
- type: string
minLength: 1
maxLength: 255
- type: 'null'
name:
type: string
minLength: 1
maxLength: 255
status:
type: string
enum:
- active
- disabled
- archived
- error
config:
type: object
properties: {}
additionalProperties: {}
tags:
- Connectors
summary: Update connector instance
description: Updates one connector instance.
responses:
'200':
description: Connector instance updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceMutationResponse'
'400':
description: The connector instance update request was invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to update connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to edit this connector instance.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}/archive:
post:
operationId: postV1ConnectorInstancesByConnectorInstanceIdArchive
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: archive connector instance
description: archive a connector instance.
responses:
'200':
description: Connector instance updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceMutationResponse'
'400':
description: The connector instance path parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to manage connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to manage this connector instance.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}/disable:
post:
operationId: postV1ConnectorInstancesByConnectorInstanceIdDisable
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: disable connector instance
description: disable a connector instance.
responses:
'200':
description: Connector instance updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceMutationResponse'
'400':
description: The connector instance path parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to manage connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to manage this connector instance.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}/enable:
post:
operationId: postV1ConnectorInstancesByConnectorInstanceIdEnable
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: enable connector instance
description: enable a connector instance.
responses:
'200':
description: Connector instance updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceMutationResponse'
'400':
description: The connector instance path parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to manage connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to manage this connector instance.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}/configuration:
get:
operationId: getV1ConnectorInstancesByConnectorInstanceIdConfiguration
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: Get connector instance configuration
description: Returns the currently configured plugins and import stats for a connector instance.
responses:
'200':
description: Connector instance configuration returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceConfigurationResponse'
'400':
description: The connector instance path parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to inspect connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}/remove:
post:
operationId: postV1ConnectorInstancesByConnectorInstanceIdRemove
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: Remove connector instance
description: Removes a connector instance and deletes the plugins, mappings, config objects, and bindings associated with it.
responses:
'200':
description: Connector instance removed and cleaned up successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceRemoveResponse'
'400':
description: The connector instance path parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to remove connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to remove this connector instance.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}/auto-import:
post:
operationId: postV1ConnectorInstancesByConnectorInstanceIdAutoImport
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
autoImportNewPlugins:
type: boolean
required:
- autoImportNewPlugins
tags:
- Connectors
summary: Set connector instance auto-import
description: Enables or disables auto-import of new plugins on future push webhooks for a connector instance.
responses:
'200':
description: Connector instance auto-import updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchConnectorInstanceConfigurationResponse'
'400':
description: The auto-import request was invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to configure connector instances.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to configure this connector instance.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}/access:
get:
operationId: getV1ConnectorInstancesByConnectorInstanceIdAccess
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: List connector instance access grants
description: Lists direct, team, and org-wide grants for a connector instance.
responses:
'200':
description: Connector instance access grants returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchAccessGrantListResponse'
'400':
description: The connector instance access path parameters were invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to manage connector instance access.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to manage connector instance access.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
post:
operationId: postV1ConnectorInstancesByConnectorInstanceIdAccess
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
orgMembershipId:
description: Den TypeID with 'om_' prefix and a 26-character base32 suffix.
format: typeid
type: string
minLength: 29
maxLength: 29
pattern: ^om_.*
teamId:
description: Den TypeID with 'tem_' prefix and a 26-character base32 suffix.
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^tem_.*
orgWide:
default: false
type: boolean
role:
type: string
enum:
- viewer
- editor
- manager
required:
- role
tags:
- Connectors
summary: Grant connector instance access
description: Creates or reactivates one access grant for a connector instance.
responses:
'201':
description: Connector instance access grant created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PluginArchAccessGrantMutationResponse'
'400':
description: The connector instance access request was invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
'401':
description: The caller must be signed in to manage connector instance access.
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: The caller lacks permission to manage connector instance access.
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: The connector instance could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
/v1/connector-instances/{connectorInstanceId}/access/{grantId}:
delete:
operationId: deleteV1ConnectorInstancesByConnectorInstanceIdAccessByGrantId
parameters:
- in: path
name: connectorInstanceId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cin_.*
required: true
description: Den TypeID with 'cin_' prefix and a 26-character base32 suffix.
- in: path
name: grantId
schema:
format: typeid
type: string
minLength: 30
maxLength: 30
pattern: ^cia_.*
required: true
description: Den TypeID with 'cia_' prefix and a 26-character base32 suffix.
tags:
- Connectors
summary: Revoke connector instance access
description: Soft-revokes one connector instance access grant.
responses:
'204':
description: Connector instance
# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openwork/refs/heads/main/openapi/openwork-connectors-api-openapi.yml