Skip to main content
POST
/
o
/
{organisation_id}
/
projects
/
{project_id}
/
connection-templates
Create a new connection template
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>",
        "signatureMethod": "<string>",
        "validationMessages": [
          {
            "text": "<string>",
            "severity": "info",
            "detail": [
              "<string>"
            ]
          }
        ],
        "tokenAuth": true,
        "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"
        },
        "credentialId": "<string>"
      },
      "hmac": {
        "id": "<string>",
        "description": "<string>",
        "name": "<string>",
        "in": "query",
        "algorithm": "sha1",
        "digestInputs": [
          "body"
        ],
        "encoding": "hex",
        "validationMessages": [
          {
            "text": "<string>",
            "severity": "info",
            "detail": [
              "<string>"
            ]
          }
        ]
      },
      "certificate": {
        "id": "<string>",
        "description": "<string>",
        "validationMessages": [
          {
            "text": "<string>",
            "severity": "info",
            "detail": [
              "<string>"
            ]
          }
        ]
      }
    }
  ],
  "templateBaseUrl": "<string>",
  "connectionTemplateId": "<string>"
}

Authorizations

Authorization
string
header
required

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.

Path Parameters

organisation_id
string<ulid>
required
project_id
string<ulid>
required

Body

application/json
systemId
string<ulid>
required

ID of the system to add the project environment.

name
string
required

How you will reference your system from the SDK.

environmentId
string<ulid>

The environment to link the system to.

dynamic
boolean

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.

Response

OK

id
string<ulid>
required

The system ID.

name
string
required

The name of the template. This is how the connections should be referenced in code.

domain
string
required
dynamic
boolean
required
authSchemeConfigs
object[]
required

AuthSchemeConfigs is a list of auth scheme configs which are used to authenticate with the system. This is used to determine how the connection should be authenticated, and may contain multiple configs for different authentication methods. The overwhelming majority of the time, this will be a single config. There does exist cases where credentials may need to be applied in sequence, such as mTLS. If there are multiple auth scheme configs here, it acts like a queue and they are applied in order.

templateBaseUrl
string
required
connectionTemplateId
string<ulid>