curl --request POST \
--url https://platform.versori.com/api/v2/o/{organisation_id}/projects/{project_id}/connection-templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"systemId": "<string>",
"name": "<string>",
"environmentId": "<string>",
"dynamic": true
}
'{
"id": "<string>",
"name": "<string>",
"domain": "<string>",
"dynamic": true,
"authSchemeConfigs": [
{
"type": "none",
"none": {
"id": "<string>",
"description": "<string>",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
},
"apiKey": {
"id": "<string>",
"description": "<string>",
"name": "<string>",
"in": "query",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
},
"basicAuth": {
"id": "<string>",
"description": "<string>",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
},
"oauth2": {
"id": "<string>",
"description": "<string>",
"tokenUrl": "<string>",
"scopes": [
{
"name": "<string>",
"description": "<string>"
}
],
"defaultScopes": [
"<string>"
],
"grant": {
"type": "authorizationCode",
"authorizationCode": {
"credentialId": "<string>",
"organisationId": "<string>",
"clientId": "<string>",
"clientSecret": "<string>"
},
"clientCredentials": {},
"password": {
"credentialId": "<string>",
"organisationId": "<string>",
"clientId": "<string>",
"clientSecret": "<string>"
}
},
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
],
"authorizeUrl": "<string>",
"additionalAuthorizeParams": "<string>",
"additionalTokenParams": "<string>",
"mtlsEnabled": true,
"mtlsCredentialId": "<string>",
"pkce": true
},
"oauth1": {
"id": "<string>",
"description": "<string>",
"consumerKey": "<string>",
"consumerSecret": "<string>",
"tempCredentialEndpoint": {
"url": "<string>",
"additionalParamConfigs": [
{
"parameterName": "<string>",
"location": "LOCATION_IGNORE",
"required": true,
"modifiable": true,
"targetName": "<string>",
"usages": "USAGE_UNKNOWN"
}
],
"parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
},
"resourceOwnerAuthorizationEndpoint": {
"url": "<string>",
"additionalParamConfigs": [
{
"parameterName": "<string>",
"location": "LOCATION_IGNORE",
"required": true,
"modifiable": true,
"targetName": "<string>",
"usages": "USAGE_UNKNOWN"
}
],
"parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
},
"tokenEndpoint": {
"url": "<string>",
"additionalParamConfigs": [
{
"parameterName": "<string>",
"location": "LOCATION_IGNORE",
"required": true,
"modifiable": true,
"targetName": "<string>",
"usages": "USAGE_UNKNOWN"
}
],
"parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
},
"signatureMethod": "<string>",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
],
"credentialId": "<string>"
},
"hmac": {
"id": "<string>",
"description": "<string>",
"name": "<string>",
"in": "query",
"algorithm": "sha1",
"digestInputs": [
"body"
],
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
},
"certificate": {
"id": "<string>",
"description": "<string>",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
}
}
],
"templateBaseUrl": "<string>",
"connectionTemplateId": "<string>"
}curl --request POST \
--url https://platform.versori.com/api/v2/o/{organisation_id}/projects/{project_id}/connection-templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"systemId": "<string>",
"name": "<string>",
"environmentId": "<string>",
"dynamic": true
}
'{
"id": "<string>",
"name": "<string>",
"domain": "<string>",
"dynamic": true,
"authSchemeConfigs": [
{
"type": "none",
"none": {
"id": "<string>",
"description": "<string>",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
},
"apiKey": {
"id": "<string>",
"description": "<string>",
"name": "<string>",
"in": "query",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
},
"basicAuth": {
"id": "<string>",
"description": "<string>",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
},
"oauth2": {
"id": "<string>",
"description": "<string>",
"tokenUrl": "<string>",
"scopes": [
{
"name": "<string>",
"description": "<string>"
}
],
"defaultScopes": [
"<string>"
],
"grant": {
"type": "authorizationCode",
"authorizationCode": {
"credentialId": "<string>",
"organisationId": "<string>",
"clientId": "<string>",
"clientSecret": "<string>"
},
"clientCredentials": {},
"password": {
"credentialId": "<string>",
"organisationId": "<string>",
"clientId": "<string>",
"clientSecret": "<string>"
}
},
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
],
"authorizeUrl": "<string>",
"additionalAuthorizeParams": "<string>",
"additionalTokenParams": "<string>",
"mtlsEnabled": true,
"mtlsCredentialId": "<string>",
"pkce": true
},
"oauth1": {
"id": "<string>",
"description": "<string>",
"consumerKey": "<string>",
"consumerSecret": "<string>",
"tempCredentialEndpoint": {
"url": "<string>",
"additionalParamConfigs": [
{
"parameterName": "<string>",
"location": "LOCATION_IGNORE",
"required": true,
"modifiable": true,
"targetName": "<string>",
"usages": "USAGE_UNKNOWN"
}
],
"parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
},
"resourceOwnerAuthorizationEndpoint": {
"url": "<string>",
"additionalParamConfigs": [
{
"parameterName": "<string>",
"location": "LOCATION_IGNORE",
"required": true,
"modifiable": true,
"targetName": "<string>",
"usages": "USAGE_UNKNOWN"
}
],
"parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
},
"tokenEndpoint": {
"url": "<string>",
"additionalParamConfigs": [
{
"parameterName": "<string>",
"location": "LOCATION_IGNORE",
"required": true,
"modifiable": true,
"targetName": "<string>",
"usages": "USAGE_UNKNOWN"
}
],
"parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
},
"signatureMethod": "<string>",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
],
"credentialId": "<string>"
},
"hmac": {
"id": "<string>",
"description": "<string>",
"name": "<string>",
"in": "query",
"algorithm": "sha1",
"digestInputs": [
"body"
],
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
},
"certificate": {
"id": "<string>",
"description": "<string>",
"validationMessages": [
{
"text": "<string>",
"severity": "info",
"detail": [
"<string>"
]
}
]
}
}
],
"templateBaseUrl": "<string>",
"connectionTemplateId": "<string>"
}Bearer token authentication used by the Versori Platform. External consumers must provide an API key, however internal consumers must provide a JWT id_token issued by our IdP.
ID of the system to add the project environment.
How you will reference your system from the SDK.
The environment to link the system to.
If the connections to the system need to be dynamic or static. Dynamic connections are used when the integration runs for multiple end users. Defaults to false if not set.
OK
The system ID.
The name of the template. This is how the connections should be referenced in code.
Show child attributes
Type is a unique identifier of the AuthScheme, this is a kebab-case formatted string, see enum values for possible options.
none, api-key, basic-auth, oauth2, hmac, jwt-bearer, certificate, oauth1, secret AuthSchemeConfigNone is a placeholder object with the schemeType set to none. There is no other configuration
required.
Show child attributes
ID is the unique identifier of the AuthSchemeConfig, this is generated by the client and only requires to be unique amongst the elements of the array in which is it contained.
Description enables users to distinguish multiple configurations which use the same schemeType.
ValidationMessages is a list of messages which are generated when the AuthSchemeConfig is validated. This is typically used to provide feedback to the user when they are creating or updating the AuthSchemeConfig.
This field will be ignored if sent to the API.
Show child attributes
Text contains the text of the message.
info, warning, error Details contains additional information about the message. This is intended to be used to provide more information about the message, such as a list of validation errors.
AuthSchemeConfigAPIKey defines how a Connector uses an API key credential to authenticate with the system.
Show child attributes
ID is the unique identifier of the AuthSchemeConfig, this is generated by the client and only requires to be unique amongst the elements of the array in which is it contained.
Description enables users to distinguish multiple configurations which use the same schemeType.
Name is the query parameter/header/cookie name which will be used to send the API key.
AuthSchemeConfigAPIKeyIn defines the location of the API key in the request.
query, header, cookie ValidationMessages is a list of messages which are generated when the AuthSchemeConfig is validated. This is typically used to provide feedback to the user when they are creating or updating the AuthSchemeConfig.
This field will be ignored if sent to the API.
Show child attributes
Text contains the text of the message.
info, warning, error Details contains additional information about the message. This is intended to be used to provide more information about the message, such as a list of validation errors.
AuthSchemeConfigBasicAuth is a placeholder object with the schemeType set to basic-auth. There is no other
configuration required.
Show child attributes
ID is the unique identifier of the AuthSchemeConfig, this is generated by the client and only requires to be unique amongst the elements of the array in which is it contained.
Description enables users to distinguish multiple configurations which use the same schemeType.
ValidationMessages is a list of messages which are generated when the AuthSchemeConfig is validated. This is typically used to provide feedback to the user when they are creating or updating the AuthSchemeConfig.
This field will be ignored if sent to the API.
Show child attributes
Text contains the text of the message.
info, warning, error Details contains additional information about the message. This is intended to be used to provide more information about the message, such as a list of validation errors.
AuthSchemeConfigOAuth2 defines how a Connector uses an OAuth2 credential to authenticate
with the system. This is to be used for all OAuth 2.0 flows which require a client ID and
client secret as part of the Connector's configuration. Connectors which use the
client_credentials grant type, where the user provides the Client ID and Client Secret at
the point where they connect, should use the AuthSchemeConfigOAuth2ClientCredentials type
instead.
Show child attributes
ID is the unique identifier of the AuthSchemeConfig, this is generated by the client and only requires to be unique amongst the elements of the array in which is it contained.
Description enables users to distinguish multiple configurations which use the same schemeType.
TokenURL is the URL which the application will use to issue an access token.
Scopes is the list of all OAuth2 scopes which the application supports. The user will be allowed to choose which scopes to request when configuring the Connection.
Show child attributes
Name is the name of the scope as determined by the application to which this Connector is connecting to.
Description describes the scope in human-friendly terminology. This text may be displayed to users via a help tooltip or similar.
DefaultScopes is the list of scopes which will be requested by default when the user connects the Connector. This is useful for Connectors which require a specific set of scopes to function correctly.
Show child attributes
authorizationCode, clientCredentials, password AuthSchemeConfigOAuth2GrantAuthorizationCode contains grant-specific configuration for the
authorization_code grant type.
How the API manages changes to this configuration is as follows:
Show child attributes
CredentialID is the unique identifier of the Credential which contains the client ID and
client secret to be used as part of the password flow.
OrganisationID is the unique identifier of the Organisation that owns the Credential. This can be different to the Connector's OrganisationID since some may be imported from Versori's public library.
ClientID is the OAuth 2.0 client's identifier. This is not a sensitive value and may be presented to the user in plaintext.
ClientSecret is the OAuth 2.0 client's secret. This is a sensitive value and will not be displayed to the user.
AuthSchemeConfigOAuth2GrantPassword contains grant-specific configuration for the password
grant type.
How the API manages changes to this configuration is as follows:
Show child attributes
CredentialID is the unique identifier of the Credential which contains the client ID and
client secret to be used as part of the password flow.
OrganisationID is the unique identifier of the Organisation that owns the Credential. This can be different to the Connector's OrganisationID since some may be imported from Versori's public library.
ClientID is the OAuth 2.0 client's identifier. This is not a sensitive value and may be presented to the user in plaintext.
ClientSecret is the OAuth 2.0 client's secret. This is a sensitive value and will not be displayed to the user. It may be populated when updating the Credential.
ValidationMessages is a list of messages which are generated when the AuthSchemeConfig is validated. This is typically used to provide feedback to the user when they are creating or updating the AuthSchemeConfig.
This field will be ignored if sent to the API.
Show child attributes
Text contains the text of the message.
info, warning, error Details contains additional information about the message. This is intended to be used to provide more information about the message, such as a list of validation errors.
AuthorizeURL is the URL which the user will be redirected to in order to authorize the application.
AdditionalAuthorizeParams is a URL-encoded query string which should be attached to the AuthorizeURL when the user is redirected to the OAuth 2.0 authorization endpoint.
This value is only used by the UI to drive the default values when connecting, the
API to InitialiseOAuth2Connection can be provided a different value if required.
AdditionalTokenParams is a URL-encoded string following the
application/x-www-form-urlencoded mime-type, which can be used to pass additional
parameters to the OAuth 2.0 token endpoint within the request body.
MTLSEnabled is a flag which determines whether the Connector should use Mutual TLS (mTLS) to authenticate with the OAuth 2.0 token endpoint. This is useful for Connectors which require a higher level of security.
MTLSCredentialID is the unique identifier of the Credential which contains the client certificate and private key to be used as part of the mTLS connection.
This may be unset when creating a connection, in which case if mtlsEnabled is
true, then the API will find an associated AuthSchemeConfigCertificate and link
them automatically.
Show child attributes
ID is the unique identifier of the AuthSchemeConfig, this is generated by the client and only requires to be unique amongst the elements of the array in which is it contained.
Description enables users to distinguish multiple configurations which use the same schemeType.
Show child attributes
URL of the endpoint, may contain templated values in curly braces
Show child attributes
Key of the additional parameter to insert
LOCATION_IGNORE, LOCATION_BODY, LOCATION_HEADER, LOCATION_QUERY, LOCATION_ENDPOINT, LOCATION_HEADER_PARAMETER Whether parameter is required in requests
Whether parameter can be modified by user
Override name for the parameter in endpoint requests
USAGE_UNKNOWN, USAGE_TEMP_CREDENTIAL_ENDPOINT, USAGE_TOKEN_REQUEST_ENDPOINT AUTH_STYLE_AUTHORIZATION_HEADER, AUTH_STYLE_FORM, AUTH_STYLE_QUERY Show child attributes
URL of the endpoint, may contain templated values in curly braces
Show child attributes
Key of the additional parameter to insert
LOCATION_IGNORE, LOCATION_BODY, LOCATION_HEADER, LOCATION_QUERY, LOCATION_ENDPOINT, LOCATION_HEADER_PARAMETER Whether parameter is required in requests
Whether parameter can be modified by user
Override name for the parameter in endpoint requests
USAGE_UNKNOWN, USAGE_TEMP_CREDENTIAL_ENDPOINT, USAGE_TOKEN_REQUEST_ENDPOINT AUTH_STYLE_AUTHORIZATION_HEADER, AUTH_STYLE_FORM, AUTH_STYLE_QUERY Show child attributes
URL of the endpoint, may contain templated values in curly braces
Show child attributes
Key of the additional parameter to insert
LOCATION_IGNORE, LOCATION_BODY, LOCATION_HEADER, LOCATION_QUERY, LOCATION_ENDPOINT, LOCATION_HEADER_PARAMETER Whether parameter is required in requests
Whether parameter can be modified by user
Override name for the parameter in endpoint requests
USAGE_UNKNOWN, USAGE_TEMP_CREDENTIAL_ENDPOINT, USAGE_TOKEN_REQUEST_ENDPOINT AUTH_STYLE_AUTHORIZATION_HEADER, AUTH_STYLE_FORM, AUTH_STYLE_QUERY ValidationMessages is a list of messages which are generated when the AuthSchemeConfig is validated. This is typically used to provide feedback to the user when they are creating or updating the AuthSchemeConfig.
This field will be ignored if sent to the API.
Show child attributes
Text contains the text of the message.
info, warning, error Details contains additional information about the message. This is intended to be used to provide more information about the message, such as a list of validation errors.
AuthSchemeConfigHMAC defines how a Connector uses an HMAC credential to authenticate with the system.
This may be used on outbound requests to sign the request body, however it is more commonly used on inbound requests (i.e. from Webhook Triggers) to verify the sender of the request is allowed to invoke the Trigger.
Show child attributes
ID is the unique identifier of the AuthSchemeConfig, this is generated by the client and only requires to be unique amongst the elements of the array in which is it contained.
Description enables users to distinguish multiple configurations which use the same schemeType.
Name is the query parameter/header/cookie name which will be used to send the signature.
AuthSchemeConfigHMACIn defines where the signature should be set on requests.
query, header, cookie AuthSchemeConfigHMACAlgorithm defines the hashing algorithm to use when generating the HMAC signature.
sha1, sha256, sha512 AuthSchemeConfigHMACInputs defines what parts of a HTTP request are consumed to generate the HMAC signature. Some systems only generate the signature from the request body, others may include the URL. The order of this array defines the order in which the input is fed into the hashing function.
body, url ValidationMessages is a list of messages which are generated when the AuthSchemeConfig is validated. This is typically used to provide feedback to the user when they are creating or updating the AuthSchemeConfig.
This field will be ignored if sent to the API.
Show child attributes
Text contains the text of the message.
info, warning, error Details contains additional information about the message. This is intended to be used to provide more information about the message, such as a list of validation errors.
AuthSchemeConfigCertificate is a placeholder object with the schemeType set to certificate.
There is no other config required
Show child attributes
ID is the unique identifier of the AuthSchemeConfig, this is generated by the client and only requires to be unique amongst the elements of the array in which is it contained.
Description enables users to distinguish multiple configurations which use the same schemeType.
ValidationMessages is a list of messages which are generated when the AuthSchemeConfig is validated. This is typically used to provide feedback to the user when they are creating or updating the AuthSchemeConfig.
This field will be ignored if sent to the API.
Show child attributes
Text contains the text of the message.
info, warning, error Details contains additional information about the message. This is intended to be used to provide more information about the message, such as a list of validation errors.