catalog = client.list_providers()
affinity = client.list_providers(id="affinity")
const headers = { Authorization: `Bearer ${process.env.HYDRA_DB_API_KEY}` };
const catalog = await client.listProviders({}, { headers });
const affinity = await client.listProviders({ id: "affinity" }, { headers });
curl 'https://api.hydradb.com/connectors/providers' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
curl 'https://api.hydradb.com/connectors/providers?id=affinity' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
{
"providers": [
{
"provider": "slack",
"category": "Communication",
"supported": true,
"moveit_support": false,
"webhook_support": false,
"is_alpha": false,
"is_beta": false,
"rank": 1
}
]
}
{
"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" }
}
}
Connectors
List Connector Providers
List the providers you can connect, or describe one: its credentials and the fields you can filter on.
GET
/
connectors
/
providers
catalog = client.list_providers()
affinity = client.list_providers(id="affinity")
const headers = { Authorization: `Bearer ${process.env.HYDRA_DB_API_KEY}` };
const catalog = await client.listProviders({}, { headers });
const affinity = await client.listProviders({ id: "affinity" }, { headers });
curl 'https://api.hydradb.com/connectors/providers' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
curl 'https://api.hydradb.com/connectors/providers?id=affinity' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
{
"providers": [
{
"provider": "slack",
"category": "Communication",
"supported": true,
"moveit_support": false,
"webhook_support": false,
"is_alpha": false,
"is_beta": false,
"rank": 1
}
]
}
{
"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" }
}
}
GET /connectors/providers does two jobs with one endpoint:
- Without
id, it returns the catalog of providers you can connect, in display order. - With
id={provider}, it describes that one provider: the credentials it needs and the fields you can search and filter on.
provider value as provider in Create Connector, and as id to read that provider’s credential schema.
is_alpha and is_beta indicate the provider’s release stage. moveit_support identifies the sync engine and does not change how you connect the provider.
catalog = client.list_providers()
affinity = client.list_providers(id="affinity")
const headers = { Authorization: `Bearer ${process.env.HYDRA_DB_API_KEY}` };
const catalog = await client.listProviders({}, { headers });
const affinity = await client.listProviders({ id: "affinity" }, { headers });
curl 'https://api.hydradb.com/connectors/providers' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
curl 'https://api.hydradb.com/connectors/providers?id=affinity' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
{
"providers": [
{
"provider": "slack",
"category": "Communication",
"supported": true,
"moveit_support": false,
"webhook_support": false,
"is_alpha": false,
"is_beta": false,
"rank": 1
}
]
}
{
"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" }
}
}
The catalog
Only providers you can connect are listed, sosupported is always true. webhook_support is true for providers whose data arrives by webhook instead of scheduled syncs. rank is null for providers without a display position; they are listed last, alphabetically.
One provider
credential_schemais the JSON Schema forcredentialson Create Connector and Update Connector. It is omitted when unavailable.setup_guide,token_scopesandtoken_scopes_noteappear for providers that need extra setup, such as creating a token with specific scopes.indexed_object_typesare the provider’s record types that become searchable.searchable_fieldsare values written into each synced document’s text. Search finds them, but you cannot target one field on its own.filterable_fieldsare exact-match filters. Each entry’sfilter_keyis where the value lives inmetadata_filters.
filter_key such as additional_metadata.container_id is written as a nested object in a query:
Filtering by a provider field
{
"database": "acme_corp",
"query": "diligence notes",
"metadata_filters": {
"additional_metadata": { "container_id": "12345" }
}
}
filter_key with no prefix, such as connector_id, goes directly under metadata_filters.
For Gmail, filter on account_email (additional_metadata.account_email) to scope results to one connected mailbox.
Errors
404: withid, no provider has that id. Check it against the catalog.
Related resources
- Create Connector: connect a provider
- Connectors: Overview
Authorizations
Send your API key as Authorization: Bearer <your_api_key>.
Query Parameters
Provider name (e.g. slack, gmail). Omit to list all.
Example:
"HydraDoc1234"
Response
OK
- Catalog
- Provider details
Providers you can connect, in catalog display order.
Show child attributes
Show child attributes
Example:
[
{
"is_alpha": true,
"is_beta": true,
"moveit_support": true,
"provider": "slack",
"rbac_support": true,
"supported": true,
"webhook_support": true
}
]
Was this page helpful?
