API configurations are listed in the providers.yaml file, located in the Nango GitHub repository. Learn more about API configurations.

Examples

hubspot:
    display_name: HubSpot
    categories:
        - marketing
        - support
        - crm
    auth_mode: OAUTH2
    authorization_url: https://app.hubspot.com/oauth/authorize
    token_url: https://api.hubapi.com/oauth/v1/token
    connection_configuration:
        - portalId
    post_connection_script: hubspotPostConnection
    webhook_routing_script: hubspotWebhookRouting
    proxy:
        base_url: https://api.hubapi.com
        decompress: true
        paginate:
            type: cursor
            cursor_path_in_response: paging.next.after
            limit_name_in_request: limit
            cursor_name_in_request: after
            response_path: results
    docs: https://docs.nango.dev/integrations/all/hubspot

All configuration fields

Looking for the JSON Schema, find it in our GitHub
alias
string

Allows to extend the configuration of another API.

display_name
string
required

The display name of the provider, used in the UI.

auth_mode
string

The authentication mode. Must be one of: “API_KEY”, “APP”, “APP_STORE”, “BASIC”, “NONE”, “OAUTH1”, “OAUTH2”, “OAUTH2_CC”, “CUSTOM”, “TBA”, “TABLEAU”.

auth
object

Authentication configuration.

authorization_method
string

The authorization method. Must be header

authorization_params
object

Query parameters of the authorization request.

authorization_url
string

The URL to get the OAuth 2 credentials from the external API.

authorization_url_encoded
boolean

Should the authorization_url be encoded or not

authorization_url_replacements
object

An object containing key-value pairs for replacements in the authorization URL.

body_format
string

The format of the request body. e.g: json

categories
array

An array of strings representing the categories of the API.

connection_configuration
array

An array of strings representing the connectionConfig that are automatically populated by post-connection scripts.

decode_url
boolean

Whether to decode the URL or not.

default_scopes
array

The minimum list of scopes that are necessary to connect to the API.

disable_pkce
boolean

Disables the PKCE extention to the Authorization Code flow.

docs
string

The URL to the developper API documentation.

docs_connect
string

The URL to the end user documentation (e.g: how to connect).

post_connection_script
string

The name of the script to run after a connection is established.

proxy
object

Proxy configuration for the API.

redirect_uri_metadata
array

The metadata to capture from the callback request.

refresh_url
string

The URL used for refreshing the access token. Defaults to the token_url

refresh_params
object

Parameters used for refreshing the access token.

request_params
object

An object containing request parameters to pass to an authorization request.

request_url
string

The URL for making API an authorization request.

scope_separator
string

The separator used between scopes in the authorization request. Defaults to space, but some APIs sur , or +.

signature_method
string

The signature method used for OAuth 1.0. Must be either “HMAC-SHA1” or “PLAINTEXT”.

token_expiration_buffer
number

A buffer time (in seconds) before the token expiration to trigger a refresh.

token_params
object

Parameters used for obtaining the access token.

token_request_auth_method
string

The authentication method used for token requests. Must be either “basic” or “custom”.

expires_in_unit
string

The unit of time for token expiration. Must be “milliseconds”.

token_response_metadata
array

An array of strings representing metadata from the token response that will be saved in connection.metadata.

token_url
string

The URL to get the OAuth 2 credentials from the external API.

token_url_encoded
boolean

Should the token_url be encoded or not

webhook_user_defined_secret
boolean

Wether the webhook secret is set by the user.

webhook_routing_script
array

Specifies a script to handle external webhooks.

connection_config
object

The list of properties available in ${connectionConfig} and their validation.

credentials
object

The list of credentials and their validation, only filed if necessary (e.g: API_KEY, BASIC)

Questions, problems, feedback? Please reach out in the Slack community.