Get Connectors
/v1/connectorsRetrieve a list of connector records with advanced filtering, sorting, and include capabilities. This endpoint supports: **Default behavior**: Returns all connectors associated with the workspace_id and organization extracted from the authentication token. **Include functionality**: Use the `include` parameter to get full details of related resources in the response. **Date filtering**: Filter by creation or update date ranges using `created_at_from/to` and `updated_at_from/to`. **Relationship filtering**: Filter by related entities using `workspace_id`, `published_by`, etc. **Category filtering**: Filter by connector categories like `crm`, `api`, `database`, etc. **Status filtering**: Filter by connector status and data synchronization state. **Sorting**: Sort results by `created_at`, `updated_at`, `name`, or `category` in ascending or descending order. ## Filtering & sorting Filter via `POST /v1/records/query` (root `connectors`) or the `filters` model; operators are gated by each field's data type. See [Filtering & sorting](../filtering-and-sorting). **Filterable fields** | Field | Type | Allowed operators | |---|---|---| | `authorization_flow` | enum | `eq` `neq` `in` `is_null` `is_not_null` | | `category_id` | text | `contains` `eq` `neq` `starts_with` `ends_with` `is_null` `is_not_null` | | `composite_connector_action` | text | `contains` `eq` `neq` `starts_with` `ends_with` `is_null` `is_not_null` | | `composite_connector_logo_name` | text | `contains` `eq` `neq` `starts_with` `ends_with` `is_null` `is_not_null` | | `connector_id` | text | `contains` `eq` `neq` `starts_with` `ends_with` `is_null` `is_not_null` | | `created_at` | date | `eq` `lt` `gt` `is_null` `is_not_null` | | `deleted_at` | date | `eq` `lt` `gt` `is_null` `is_not_null` | | `direction` | enum | `eq` `neq` `in` `is_null` `is_not_null` | | `external_connector_id` | text | `contains` `eq` `neq` `starts_with` `ends_with` `is_null` `is_not_null` | | `name` | text | `contains` `eq` `neq` `starts_with` `ends_with` `is_null` `is_not_null` | | `pk` | number | `eq` `neq` `gt` `gte` `lt` `lte` `is_null` `is_not_null` | | `provider` | enum | `eq` `neq` `in` `is_null` `is_not_null` | | `service_id` | text | `contains` `eq` `neq` `starts_with` `ends_with` `is_null` `is_not_null` | | `slug` | text | `contains` `eq` `neq` `starts_with` `ends_with` `is_null` `is_not_null` | | `status` | enum | `eq` `neq` `in` `is_null` `is_not_null` | | `transport` | enum | `eq` `neq` `in` `is_null` `is_not_null` | | `updated_at` | date | `eq` `lt` `gt` `is_null` `is_not_null` | **Sortable fields:** `authorization_flow`, `category_id`, `composite_connector_action`, `composite_connector_logo_name`, `connector_id`, `created_at`, `deleted_at`, `direction`, `external_connector_id`, `name`, `pk`, `provider`, `service_id`, `slug`, `status`, `transport`, `updated_at` (via `orderBy` / `sort`, `asc`|`desc`).
Requires a bearer token: Authorization: Bearer <token>.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
| include | string | No | Comma-separated list of related resources to include. Available options: published_by, logo, categorye.g. published_by,logo |
| created_at_from | string <date-time> | No | Filter connectors created from this date (ISO 8601 format)e.g. 2025-01-01T00:00:00Z |
| created_at_to | string <date-time> | No | Filter connectors created until this date (ISO 8601 format)e.g. 2025-12-31T23:59:59Z |
| updated_at_from | string <date-time> | No | Filter connectors updated from this date (ISO 8601 format)e.g. 2025-01-01T00:00:00Z |
| updated_at_to | string <date-time> | No | Filter connectors updated until this date (ISO 8601 format)e.g. 2025-12-31T23:59:59Z |
| workspace_id | string <uuid> | No | Filter by workspace ID that published the connectore.g. 550e8400-e29b-41d4-a716-446655440000 |
| published_by | string <uuid> | No | Filter by workspace that published the connectore.g. 550e8400-e29b-41d4-a716-446655440000 |
| category | string | No | Filter by connector category. See [all available categories](/enums/category-connector) for complete list.e.g. crm |
| direction | string | No | Filter by data flow direction capabilitye.g. import |
| status | string | No | Filter by connector statuse.g. active |
| name | string | No | Filter by connector name (partial match, case-insensitive)e.g. Salesforce |
| sort | string | No | Sort by field. Use '-' prefix for descending order (e.g., '-created_at' for newest first)e.g. -created_at |
| limit | integer | No | Number of results to return per pagee.g. 25 |
| page | integer | No | Page number for paginatione.g. 1 |
Request
curl -X GET https://api.wellapp.ai/v1/connectors \
-H "Authorization: Bearer $WELL_API_TOKEN"Responses
200 — Connectors retrieved successfully
{
"data": [
{
"type": "connector",
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"attributes": {
"slug": "salesforce",
"name": "Salesforce",
"description": "Connects to Salesforce CRM for sync.",
"category": "crm",
"direction": "import",
"tags": [
"crm",
"cloud",
"sync"
],
"status": "active",
"version": "2.1.0",
"data_quality": {
"imported_fields": [
"invoice",
"company",
"people"
],
"last_synced": "2025-06-20T09:00:00Z"
},
"redirect_url": "https://app.well.com/connectors/salesforce/success",
"state": "active",
"created_at": "2025-10-07T14:30:00.000Z",
"updated_at": "2025-10-07T14:30:00.000Z"
},
"relationships": {
"published_by": {
"data": {
"type": "organization",
"id": "550e8400-e29b-41d4-a716-446655440001"
}
},
"logo": {
"data": {
"type": "media",
"id": "550e8400-e29b-41d4-a716-446655440002"
}
}
}
},
{
"type": "connector",
"id": "a1b2c3d4-58cc-4372-a567-0e02b2c3d480",
"attributes": {
"slug": "github",
"name": "GitHub",
"description": "Connects to GitHub for repository management and CI/CD.",
"category": "ci_cd",
"direction": "both",
"tags": [
"git",
"version-control",
"ci-cd"
],
"status": "active",
"version": "1.5.2",
"data_quality": {
"imported_fields": [
"company",
"people"
],
"last_synced": "2025-06-19T15:30:00Z"
},
"redirect_url": "https://app.well.com/connectors/github/success",
"state": "active",
"created_at": "2025-09-15T08:00:00.000Z",
"updated_at": "2025-10-01T12:00:00.000Z"
},
"relationships": {
"published_by": {
"data": {
"type": "organization",
"id": "550e8400-e29b-41d4-a716-446655440001"
}
},
"logo": {
"data": {
"type": "media",
"id": "550e8400-e29b-41d4-a716-446655440003"
}
}
}
}
],
"included": [
{
"type": "organization",
"id": "550e8400-e29b-41d4-a716-446655440001",
"attributes": {
"name": "Well Technologies",
"description": "Open-source data integration and financial technology platform",
"website": "https://well.com",
"external_id": "well_org_001"
},
"relationships": {
"connector_filters": {
"data": [
{
"type": "ConnectorFilter",
"id": "00000000-0000-4000-8000-000000000001"
}
]
},
"provider_connector": {
"data": {
"type": "ProviderConnector",
"id": "00000000-0000-4000-8000-000000000001"
}
}
}
},
{
"type": "media",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"file_name": "salesforce_logo.png",
"content_type": "image/png",
"file_size": 15420,
"media_type": "logo",
"upload_url": "https://storage.well.com/media/salesforce_logo.png"
},
"relationships": {
"connector_filters": {
"data": [
{
"type": "ConnectorFilter",
"id": "00000000-0000-4000-8000-000000000001"
}
]
},
"provider_connector": {
"data": {
"type": "ProviderConnector",
"id": "00000000-0000-4000-8000-000000000001"
}
}
}
},
{
"type": "media",
"id": "550e8400-e29b-41d4-a716-446655440003",
"attributes": {
"file_name": "github_logo.png",
"content_type": "image/png",
"file_size": 18750,
"media_type": "logo",
"upload_url": "https://storage.well.com/media/github_logo.png"
},
"relationships": {
"connector_filters": {
"data": [
{
"type": "ConnectorFilter",
"id": "00000000-0000-4000-8000-000000000001"
}
]
},
"provider_connector": {
"data": {
"type": "ProviderConnector",
"id": "00000000-0000-4000-8000-000000000001"
}
}
}
}
],
"meta": {
"page": 1,
"limit": 25,
"total": 2,
"total_pages": 1
}
}401 — Unauthorized - invalid API key
{
"code": "UNAUTHORIZED",
"status": 401,
"title": "Unauthorized",
"message": "See title.",
"meta": {
"trace_id": "a1b2c3",
"log_id": "a1b2c3"
}
}Filtering & sorting on related objects
This resource's related objects (the ones you can include) and how to filter or sort on each:
| Relationship | Cardinality | Filter on a field | Sort by a field |
|---|---|---|---|
workspace_connectors | to-many (WorkspaceConnector) | { "workspace_connectors": { "_some": { "field_name": { "_eq": … } } } } | aggregate proxy only ⚠️ |
connector_filters | to-many (ConnectorFilter) | { "connector_filters": { "_some": { "field_name": { "_eq": … } } } } | aggregate proxy only ⚠️ |
provider_connector | to-one (ProviderConnector) | { "provider_connector": { "field_name": { "_eq": … } } } | "field": "provider_connector.field_name" ✅ |
Replace field_name with any field of the related object. See its object-reference page for the full field list.
Filter by a to-one relation (and sort by it):
{
"root": "connectors",
"whereClause": { "provider_connector": { "field_name": { "_ilike": "%acme%" } } },
"orderBy": { "field": "provider_connector.field_name", "direction": "asc" }
}Filter by a to-many relation (quantified — bare nesting is invalid):
{
"root": "connectors",
"whereClause": { "workspace_connectors": { "_some": { "field_name": { "_gt": 0 } } } }
}