Skip to main content
PUT
/
o
/
{organisation_id}
/
systems
/
{system_id}
/
auth-scheme-configs
/
{auth_scheme_config_id}
Adds or updates an auth scheme for the system.
curl --request PUT \
  --url https://platform.versori.com/api/v2/o/{organisation_id}/systems/{system_id}/auth-scheme-configs/{auth_scheme_config_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "none",
  "none": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ]
  },
  "apiKey": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ],
    "name": "<string>",
    "in": "query"
  },
  "basicAuth": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ]
  },
  "oauth2": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ],
    "authorizeUrl": "<string>",
    "tokenUrl": "<string>",
    "scopes": [
      {
        "name": "<string>",
        "description": "<string>"
      }
    ],
    "defaultScopes": [
      "<string>"
    ],
    "additionalAuthorizeParams": "<string>",
    "additionalTokenParams": "<string>",
    "mtlsEnabled": true,
    "mtlsCredentialId": "<string>",
    "pkce": true,
    "grant": {
      "authorizationCode": {
        "credentialId": "<string>",
        "organisationId": "<string>",
        "clientId": "<string>",
        "clientSecret": "<string>"
      },
      "clientCredentials": {},
      "password": {
        "credentialId": "<string>",
        "organisationId": "<string>",
        "clientId": "<string>",
        "clientSecret": "<string>"
      },
      "type": "authorizationCode"
    }
  },
  "oauth1": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ],
    "consumerKey": "<string>",
    "consumerSecret": "<string>",
    "tempCredentialEndpoint": {
      "url": "<string>",
      "additionalParamConfigs": [
        {
          "parameterName": "<string>",
          "targetName": "<string>",
          "location": "LOCATION_IGNORE",
          "usages": "USAGE_UNKNOWN",
          "required": true,
          "modifiable": true
        }
      ],
      "parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
    },
    "resourceOwnerAuthorizationEndpoint": {
      "url": "<string>",
      "additionalParamConfigs": [
        {
          "parameterName": "<string>",
          "targetName": "<string>",
          "location": "LOCATION_IGNORE",
          "usages": "USAGE_UNKNOWN",
          "required": true,
          "modifiable": true
        }
      ],
      "parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
    },
    "tokenEndpoint": {
      "url": "<string>",
      "additionalParamConfigs": [
        {
          "parameterName": "<string>",
          "targetName": "<string>",
          "location": "LOCATION_IGNORE",
          "usages": "USAGE_UNKNOWN",
          "required": true,
          "modifiable": true
        }
      ],
      "parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
    },
    "signatureMethod": "<string>",
    "credentialId": "<string>"
  },
  "hmac": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ],
    "name": "<string>",
    "in": "query",
    "algorithm": "sha1",
    "digestInputs": [
      "body"
    ]
  },
  "certificate": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ]
  }
}'
{
  "type": "none",
  "none": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ]
  },
  "apiKey": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ],
    "name": "<string>",
    "in": "query"
  },
  "basicAuth": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ]
  },
  "oauth2": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ],
    "authorizeUrl": "<string>",
    "tokenUrl": "<string>",
    "scopes": [
      {
        "name": "<string>",
        "description": "<string>"
      }
    ],
    "defaultScopes": [
      "<string>"
    ],
    "additionalAuthorizeParams": "<string>",
    "additionalTokenParams": "<string>",
    "mtlsEnabled": true,
    "mtlsCredentialId": "<string>",
    "pkce": true,
    "grant": {
      "authorizationCode": {
        "credentialId": "<string>",
        "organisationId": "<string>",
        "clientId": "<string>",
        "clientSecret": "<string>"
      },
      "clientCredentials": {},
      "password": {
        "credentialId": "<string>",
        "organisationId": "<string>",
        "clientId": "<string>",
        "clientSecret": "<string>"
      },
      "type": "authorizationCode"
    }
  },
  "oauth1": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ],
    "consumerKey": "<string>",
    "consumerSecret": "<string>",
    "tempCredentialEndpoint": {
      "url": "<string>",
      "additionalParamConfigs": [
        {
          "parameterName": "<string>",
          "targetName": "<string>",
          "location": "LOCATION_IGNORE",
          "usages": "USAGE_UNKNOWN",
          "required": true,
          "modifiable": true
        }
      ],
      "parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
    },
    "resourceOwnerAuthorizationEndpoint": {
      "url": "<string>",
      "additionalParamConfigs": [
        {
          "parameterName": "<string>",
          "targetName": "<string>",
          "location": "LOCATION_IGNORE",
          "usages": "USAGE_UNKNOWN",
          "required": true,
          "modifiable": true
        }
      ],
      "parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
    },
    "tokenEndpoint": {
      "url": "<string>",
      "additionalParamConfigs": [
        {
          "parameterName": "<string>",
          "targetName": "<string>",
          "location": "LOCATION_IGNORE",
          "usages": "USAGE_UNKNOWN",
          "required": true,
          "modifiable": true
        }
      ],
      "parameterTransmission": "AUTH_STYLE_AUTHORIZATION_HEADER"
    },
    "signatureMethod": "<string>",
    "credentialId": "<string>"
  },
  "hmac": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<string>"
        ]
      }
    ],
    "name": "<string>",
    "in": "query",
    "algorithm": "sha1",
    "digestInputs": [
      "body"
    ]
  },
  "certificate": {
    "id": "<string>",
    "description": "<string>",
    "validationMessages": [
      {
        "text": "<string>",
        "severity": "info",
        "detail": [
          "<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
system_id
string<ulid>
required
auth_scheme_config_id
string
required

Body

application/json
type
enum<string>
required

Type is a unique identifier of the AuthScheme, this is a kebab-case formatted string, see enum values for possible options.

Available options:
none,
api-key,
basic-auth,
oauth2,
hmac,
jwt-bearer,
certificate,
oauth1,
secret
none
object

AuthSchemeConfigNone is a placeholder object with the schemeType set to none. There is no other configuration required.

apiKey
object

AuthSchemeConfigAPIKey defines how a Connector uses an API key credential to authenticate with the system.

basicAuth
object

AuthSchemeConfigBasicAuth is a placeholder object with the schemeType set to basic-auth. There is no other configuration required.

oauth2
object

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.

oauth1
object
hmac
object

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.

certificate
object

AuthSchemeConfigCertificate is a placeholder object with the schemeType set to certificate. There is no other config required

Response

Created

type
enum<string>
required

Type is a unique identifier of the AuthScheme, this is a kebab-case formatted string, see enum values for possible options.

Available options:
none,
api-key,
basic-auth,
oauth2,
hmac,
jwt-bearer,
certificate,
oauth1,
secret
none
object

AuthSchemeConfigNone is a placeholder object with the schemeType set to none. There is no other configuration required.

apiKey
object

AuthSchemeConfigAPIKey defines how a Connector uses an API key credential to authenticate with the system.

basicAuth
object

AuthSchemeConfigBasicAuth is a placeholder object with the schemeType set to basic-auth. There is no other configuration required.

oauth2
object

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.

oauth1
object
hmac
object

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.

certificate
object

AuthSchemeConfigCertificate is a placeholder object with the schemeType set to certificate. There is no other config required

I