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
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.
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
Query Parameters
Provider name (e.g. slack, gmail). Omit to list all.
Example:
"HydraDoc1234"
Response
OK
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",
"rank": 1,
"rbac_support": true,
"supported": true,
"webhook_support": true
}
]
Was this page helpful?
