API configuration (`providers.yaml`)

API configurations are listed in the providers.yaml file, located in the Tenklo GitHub repository.

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.tenklo.dev/api-integrations/hubspot

All configuration fields

Looking for the JSON Schema, find it in our GitHub
aliasstring

Allows to extend the configuration of another API.

display_namestringrequired

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

auth_modestring

The authentication mode. Must be one of: "API_KEY", "APP", "APP_STORE", "BASIC", "NONE", "OAUTH1", "OAUTH2", "OAUTH2_CC", "CUSTOM", "TBA", "JWT", "BILL", "TWO_STEP", "SIGNATURE".

authobject

Authentication configuration.

Show properties
response_typestring

The response type for authentication.

authorization_methodstring

The authorization method. Must be header

authorization_paramsobject

Query parameters of the authorization request.

Show properties
access_typestring

Possible value: "offline"

approval_promptstring

Possible values: "auto", "force"

durationstring

Possible value: "permanent"

expirationstring

Possible value: "never"

force_verifyboolean

Whether to force verification

noncestring

A unique string to be included in the request

promptstring

Possible value: "consent"

response_modestring

The mode of the response

response_typestring

The type of the response

authorization_urlstring

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

authorization_url_encodedboolean

Should the authorization_url be encoded or not

authorization_url_replacementsobject

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

body_formatstring

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

categoriesarray

An array of strings representing the categories of the API.

connection_configurationarray

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

decode_urlboolean

Whether to decode the URL or not.

default_scopesarray

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

disable_pkceboolean

Disables the PKCE extension to the Authorization Code flow.

docsstring

The URL to the developer API documentation.

docs_connectstring

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

post_connection_scriptstring

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

proxyobject

Proxy configuration for the API.

Show properties
base_urlstring

The base URL for the API.

decompressboolean

Whether to decompress the response.

headersobject

Headers to be sent with each request.

paginateobject

Pagination configuration.

Show properties
cursor_name_in_requeststring

The name of the cursor parameter in the request.

cursor_path_in_responsestring

The path to the cursor value in the response.

limit_name_in_requeststring

The name of the limit parameter in the request.

link_rel_in_response_headerstring

The rel attribute of the link header for pagination.

link_path_in_response_bodystring

The path to the link in the response body.

offset_name_in_requeststring

The name of the offset parameter in the request.

offset_calculation_methodstring

The method to calculate the offset in the request. Must be one of: "per-page" or "by-response-size". Optional parameter that defaults to "by-response-size".

offset_start_valuenumber

The starting value for the offset.

response_pathstring

The path to the paginated data in the response.

typestring

The type of pagination. Must be one of: "link", "cursor", "offset".

queryobject

Query parameters to be sent with each request.

retryobject

Retry configuration.

Show properties
afterstring

The name of the rate-limit header, e.g. after: 'X-Rate-Limit-Reset'

atstring

The name of the rate-limit header, e.g. at: 'x-ratelimit-reset'

verificationobjectrequired

Configure a HTTP call to verify if credentials are valid, only used for API Key and Basic auth.

Show properties
methodstring

The HTTP method for verification. Must be either "GET" or "POST".

endpointstringrequired

The endpoint for verification.

base_url_overridestring

Override the base URL for verification.

headersobject

Headers for the verification request.

redirect_uri_metadataarray

The metadata to capture from the callback request.

refresh_urlstring

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

refresh_paramsobject

Parameters used for refreshing the access token.

Show properties
grant_typestring

The grant type for refreshing the token. Must be "refresh_token".

request_paramsobject

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

request_urlstring

The URL for making API an authorization request.

scope_separatorstring

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

signature_methodstring

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

token_expiration_buffernumber

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

token_paramsobject

Parameters used for obtaining the access token.

Show properties
grant_typestring

The grant type for obtaining the token. Must be either "authorization_code" or "client_credentials".

requeststring

Additional request information for obtaining the token.

token_request_auth_methodstring

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

expires_in_unitstring

The unit of time for token expiration. Must be "milliseconds".

token_response_metadataarray

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

token_urlstring

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

token_url_encodedboolean

Should the token_url be encoded or not

webhook_user_defined_secretboolean

Wether the webhook secret is set by the user.

webhook_routing_scriptarray

Specifies a script to handle external webhooks.

authorization_url_fragmentstring

Specifies a fragment to be appended to the authorization URL, typically used to modify the redirection flow or pass additional information in the URL before the query parameters.

connection_configobject

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

Show properties
[name]object
Show properties
typestringrequired

The type of this value. Must be "string".

titlestringrequired

The title of this value.

descriptionstringrequired

The description of this value.

examplestring

An example of valid value to display in a UI.

patternstring

A regex pattern for the credential.

formatstring

The special format of this value (e.g: hostname, uri)

ordernumber

The order in which this field should be displayed in a UI

doc_sectionstring

The documentation section relative to docs_connect

credentialsobject

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

Show properties
[credential_name]object
Show properties
typestringrequired

The type of the credential. Must be "string".

titlestringrequired

The title of the credential.

descriptionstringrequired

The description of the credential.

examplestring

An example of the credential.

patternstring

A pattern for the credential.

formatstring

The format of the credential.

doc_sectionstring

The documentation section for the credential.

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

On this page