> ## Documentation Index
> Fetch the complete documentation index at: https://cortex-e852fafe-auto-update-openapi-6a9e3873a7492d091ac8c1f.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Connector Provider

> Get a connector provider's indexed fields, query filters, and credential requirements.

Call `GET /connectors/providers?id={provider}` with a `provider` identifier returned by [List Connector Providers](/api-reference/v2/endpoint/list-connector-providers).

<RequestExample>
  ```bash cURL theme={null}
  curl 'https://api.hydradb.com/connectors/providers?id=affinity' \
    -H "Authorization: Bearer $HYDRA_DB_API_KEY" \
    -H "API-Version: 2"
  ```
</RequestExample>

The response identifies the provider's indexed streams, searchable values, exact-match filters, and credential JSON Schema.

<ResponseExample>
  ```json 200 theme={null}
  {
    "provider": "affinity",
    "connector_type": "affinity",
    "indexed_object_types": ["list_entries", "notes"],
    "searchable_fields": [
      {
        "name": "author",
        "data_type": "string",
        "description": "Resolved name of the note's creator."
      }
    ],
    "filterable_fields": [
      {
        "name": "container_id",
        "data_type": "string",
        "filter_key": "additional_metadata.container_id",
        "description": "Affinity list ID the record belongs to."
      }
    ],
    "credential_schema": {
      "type": "object",
      "properties": { "...": "JSON Schema for the provider's credential inputs" }
    }
  }
  ```
</ResponseExample>

| Property               | Meaning                                                                                                   |
| ---------------------- | --------------------------------------------------------------------------------------------------------- |
| `indexed_object_types` | Provider streams whose records become searchable documents.                                               |
| `searchable_fields`    | Values rendered into the indexed document text. They are searchable, but cannot be targeted individually. |
| `filterable_fields`    | Exact-match filter definitions. Use each entry's `filter_key` in a query's `metadata_filters`.            |
| `credential_schema`    | JSON Schema for the credentials required to connect. Omitted when unavailable.                            |

Each `searchable_fields` and `filterable_fields` entry includes `name`, `data_type`, and an optional `description`; filterable entries also include `filter_key`.

<Note>
  Search queries run over the combined indexed document text. To target a specific field, use a value from `filterable_fields` with `metadata_filters`.
</Note>

```json Filtering by a provider field theme={null}
{
  "database": "acme_corp",
  "query": "diligence notes",
  "query_apps": true,
  "metadata_filters": {
    "additional_metadata": { "container_id": "12345" }
  }
}
```

For Gmail, use `account_email` (`additional_metadata.account_email`) rather than `provider_account_scope` to scope results to a connected account.

## Related Resources

* [List Connector Providers](/api-reference/v2/endpoint/list-connector-providers)
* [Create Connector](/api-reference/v2/endpoint/create-connector)


## OpenAPI

````yaml api-reference/v2/openapi.json GET /connectors/providers
openapi: 3.1.0
info:
  contact:
    email: support@hydradb.com
    name: HydraDB Support
  description: >-
    HydraDB Application API — knowledge ingestion, search, and memory
    management.
  license:
    name: Proprietary
  title: HydraDB Application API
  version: 0.1.0
servers:
  - description: Production server
    url: https://api.hydradb.com
security: []
externalDocs:
  description: ''
  url: ''
paths:
  /connectors/providers:
    get:
      tags:
        - connectors
      summary: List supported providers, or describe one in detail
      description: >-
        Without ?id: returns every supported connector with its availability,
        maturity, category, and sync engine (the connector catalog). With
        ?id=<provider>: returns what that provider stores and how to use it —
        indexed_object_types (the streams that become searchable documents),
        searchable_fields (rendered into the indexed text), filterable_fields
        (each with the exact filter_key to pass in a query's metadata_filters),
        the credential_schema for connecting it, and setup_guide (present for
        providers whose configuration goes beyond the credential schema — e.g.
        bigquery's per-table cursor/change-history settings and the one-time
        ALTER statement they may require).
      parameters:
        - description: Provider name (e.g. slack, gmail). Omit to list all.
          in: query
          name: id
          schema:
            example: HydraDoc1234
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.providerListResponse'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Not Found
components:
  schemas:
    handler.providerListResponse:
      properties:
        providers:
          example:
            - is_alpha: true
              is_beta: true
              moveit_support: true
              provider: slack
              rank: 1
              rbac_support: true
              supported: true
              webhook_support: true
          items:
            $ref: '#/components/schemas/handler.catalogConnector'
          type: array
          uniqueItems: false
      type: object
    handler.ErrorResponse:
      properties:
        data: {}
        detail:
          $ref: '#/components/schemas/handler.ErrorDetail'
          description: Structured error detail with code, message, and deprecation hints.
          example:
            deprecated: true
            deprecated_field: tenant_id
            error_code: VALIDATION_ERROR
            message: Request validation failed
            preferred_field: database
        error:
          $ref: '#/components/schemas/handler.apiError'
          description: Error message, empty string on success.
          example:
            code: DATABASE_NOT_FOUND
            message: Database not found
        meta:
          $ref: '#/components/schemas/handler.ErrorMeta'
          example:
            latency_ms: 12.3
            request_id: 9d13aef4-02f4-4e73-8c62-4c2601d04f9d
        success:
          description: Whether the request succeeded.
          example: true
          type: boolean
      type: object
    handler.catalogConnector:
      properties:
        category:
          type: string
        is_alpha:
          example: true
          type: boolean
        is_beta:
          example: true
          type: boolean
        moveit_support:
          example: true
          type: boolean
        provider:
          description: >-
            External provider being synced (e.g. `slack`, `github`, `linear`,
            `notion`, `gmail`).
          example: slack
          type: string
        rank:
          description: >-
            Rank is the dashboard display order (lower first); null means
            unranked.
          example: 1
          type: integer
        rbac_description:
          type: string
        rbac_support:
          description: >-
            RBACSupport reports whether document-level ACL capture (PRO-1684) is

            enabled for this provider (the acl_supported control-plane flag),
            and

            RBACDescription says in one sentence WHAT is captured, so the
            dashboard

            can explain the capability instead of showing a bare boolean.
          example: true
          type: boolean
        supported:
          example: true
          type: boolean
        webhook_support:
          description: >-
            WebhookSupport marks a provider fed by an inbound webhook. The
            dashboard

            needs it to pick the credential form: it otherwise reads
            moveit_support=false

            as "classic", and renders the single-token form instead of the
            provider's

            declared credential schema.
          example: true
          type: boolean
      type: object
    handler.ErrorDetail:
      properties:
        deprecated:
          description: Whether this response concerns a deprecated field or route.
          example: true
          type: boolean
        deprecated_field:
          description: The deprecated field name.
          example: tenant_id
          type: string
        error_code:
          description: Machine-readable error classification code.
          example: VALIDATION_ERROR
          type: string
        message:
          description: Human-readable description of the error.
          example: Request validation failed
          type: string
        preferred_field:
          description: The canonical replacement for the deprecated field.
          example: database
          type: string
        success:
          deprecated: true
          description: >-
            Deprecated for API clients: always false on this path, so it carries
            no

            information. To detect a failure read the HTTP status code; for what

            went wrong read the envelope's error.code and error.message, and

            meta.request_id when reporting it. The whole `detail` object is

            deprecated legacy — tagging the field individually so SDK users see
            it

            on the property, not just the container (PRO-1208).
          example: true
          type: boolean
          x-deprecated: 'true'
      type: object
    handler.apiError:
      properties:
        code:
          description: Machine-readable error code (e.g. `DATABASE_NOT_FOUND`).
          example: DATABASE_NOT_FOUND
          type: string
        message:
          description: Human-readable description of the error.
          example: Database not found
          type: string
      type: object
    handler.ErrorMeta:
      properties:
        api_version:
          type: string
        latency_ms:
          example: 12.3
          type: number
        request_id:
          description: Unique identifier for this request, useful for support and tracing.
          example: 9d13aef4-02f4-4e73-8c62-4c2601d04f9d
          type: string
      type: object

````