POST
/
o
/
{organisation_id}
/
connections
/
{connection_id}
/
versions
/
{version}
/
actions

Authorizations

cookie
string
cookierequired

Cookie authentication used by the Versori Platform.

Path Parameters

organisation_id
string
required
connection_id
string
required

ID is the unique identifier of the Connection.

version
string
required

Version is the version name of the Connection to retrieve. The reserved names "latest" and "default" may be used to retrieve the latest version or the default version respectively.

Body

application/json

ActionCreate defines a new Action to be created.

type
enum<string>
required
Available options:
http
name
string
required

Name is a unique identifier for the Action within the scope of the Connection. It is expected to both human and machine-readable, i.e. "GetProduct" or "get_products", see the validation regex for more details.

summary
string

Summary is a human-readable version of the id field, i.e. "Get Product" or "Get Products". This is used when displaying the Action to users, however if omitted the actionId can be used to display to users instead.

description
string

Description is a human-readable description of the Action. It can provide extra information to users about how the Action operates and anything the user may need to be aware of when using it.

method
enum<string>
required

HTTPMethod defines the HTTP method which will be used when invoking the Action. This is typically one of the standard HTTP methods such as GET, POST, PUT, PATCH or DELETE, but may be any valid HTTP method.

Available options:
GET,
POST,
PUT,
PATCH,
DELETE,
HEAD,
OPTIONS,
CONNECT,
TRACE
path
string
required

ActionPath is appended to the Connection's base URL to build the full URL to send requests to. It may also contain placeholders to inject dynamic values from the following sources:

  • {{ param.<name> }} - Injects the value of the parameter with the given name.
  • {{ env.<name> }} - Injects the value of the environment variable with the given name.
parameters
object[]
required
parameters.name
string
required

Name is the name of the parameter which will be sent to the HTTP endpoint.

parameters.in
enum<string>
required
Available options:
cookie,
header,
path,
query
parameters.required
boolean
required

Required denotes whether this parameter is required.

parameters.type
enum<string>
required

Type is the type of the parameter. Currently only scalar types are supported, if you require complex types then get in touch with support to discuss options.

Available options:
string,
number,
integer,
boolean
parameters.default
any

Default is the default value to use for the parameter if no value is provided by the user. If this is not defined then the parameter will not be sent to the HTTP endpoint if no value is explicitly provided by the user.

If this value is a string, it may be templated using a Go-formatted template string, i.e. {{ .env.foo }} where foo is an environment variable defined in the Connection's Environment.

parameters.completion
object

ActionCompletion defines how an Action may be completed by Switchboard to aid the user in selecting a valid value. Schema TBD.

requestBody
object

ActionHTTPRequestBody defines whether a request body is required for a particular HTTP Action, and if so which Definitions are considered valid. If this value is undefined then no request body will be sent.

requestBody.required
boolean
required

Required denotes whether a request body is required for this Action.

requestBody.definitions
object[]
required

An Action may support one Definition per media-type, i.e. application/json or application/xml etc. Attempts to link multiple Definitions with the same media-type will result in an error.

responses
object[]
required

Responses defines the expected responses from the HTTP endpoint. This is used to determine whether the Action was successful or not. At least one response must be defined in order for the Action to be valid.

responses.status
integer

Status is the HTTP status code which is expected from the HTTP endpoint. If this is not defined then this response is treated as the default response, i.e. if no other response matches then this response will be used. An action may only have one default response and each response must have a unique status code.

responses.definitions
object[]
required

An Action may support one Definition per media-type, i.e. application/json or application/xml etc. Attempts to link multiple Definitions with the same media-type will result in an error.

Response

201 - application/json

ActionHTTP defines an HTTP Action.

id
string
required

ID is the unique identifier of the Action.

errors
object[]

Errors is a list of ErrorField objects which defines the errors which may be returned by the Action. An empty array denotes that the Action has been validated and no errors were found. If this field is undefined then this means validation has not occurred.

errors.field
string
required

Field is the field which failed validation. This is typically a JSON Pointer, i.e. "/parameters/0/properties/id", however this is open for discussion (we should be consistent with the ErrorField type).

errors.message
string
required

Message is a human-readable description of the error. This is typically a human-readable string, i.e. "The parameter 'id' is invalid".

errors.severity
enum<string>
required

Severity is the severity of the error. This is used to determine how the error should be displayed to the user, i.e. a warning may be displayed in a modal dialog, whereas an error may be displayed inline.

Available options:
error,
warning
type
enum<string>
required
Available options:
http
name
string
required

Name is a unique identifier for the Action within the scope of the Connection. It is expected to both human and machine-readable, i.e. "GetProduct" or "get_products", see the validation regex for more details.

summary
string

Summary is a human-readable version of the id field, i.e. "Get Product" or "Get Products". This is used when displaying the Action to users, however if omitted the actionId can be used to display to users instead.

description
string

Description is a human-readable description of the Action. It can provide extra information to users about how the Action operates and anything the user may need to be aware of when using it.

method
enum<string>
required

HTTPMethod defines the HTTP method which will be used when invoking the Action. This is typically one of the standard HTTP methods such as GET, POST, PUT, PATCH or DELETE, but may be any valid HTTP method.

Available options:
GET,
POST,
PUT,
PATCH,
DELETE,
HEAD,
OPTIONS,
CONNECT,
TRACE
path
string

ActionPath is appended to the Connection's base URL to build the full URL to send requests to. It may also contain placeholders to inject dynamic values from the following sources:

  • {{ param.<name> }} - Injects the value of the parameter with the given name.
  • {{ env.<name> }} - Injects the value of the environment variable with the given name.
parameters
object[]
required
parameters.name
string
required

Name is the name of the parameter which will be sent to the HTTP endpoint.

parameters.in
enum<string>
required
Available options:
cookie,
header,
path,
query
parameters.required
boolean
required

Required denotes whether this parameter is required.

parameters.type
enum<string>
required

Type is the type of the parameter. Currently only scalar types are supported, if you require complex types then get in touch with support to discuss options.

Available options:
string,
number,
integer,
boolean
parameters.default
any

Default is the default value to use for the parameter if no value is provided by the user. If this is not defined then the parameter will not be sent to the HTTP endpoint if no value is explicitly provided by the user.

If this value is a string, it may be templated using a Go-formatted template string, i.e. {{ .env.foo }} where foo is an environment variable defined in the Connection's Environment.

parameters.completion
object

ActionCompletion defines how an Action may be completed by Switchboard to aid the user in selecting a valid value. Schema TBD.

requestBody
object

ActionHTTPRequestBody defines whether a request body is required for a particular HTTP Action, and if so which Definitions are considered valid. If this value is undefined then no request body will be sent.

requestBody.required
boolean
required

Required denotes whether a request body is required for this Action.

requestBody.definitions
object[]
required

An Action may support one Definition per media-type, i.e. application/json or application/xml etc. Attempts to link multiple Definitions with the same media-type will result in an error.

responses
object[]
required

Responses defines the expected responses from the HTTP endpoint. This is used to determine whether the Action was successful or not.

responses.status
integer

Status is the HTTP status code which is expected from the HTTP endpoint. If this is not defined then this response is treated as the default response, i.e. if no other response matches then this response will be used. An action may only have one default response and each response must have a unique status code.

responses.id
string
required
responses.definitions
object[]
required

An Action may support one Definition per media-type, i.e. application/json or application/xml etc. Attempts to link multiple Definitions with the same media-type will result in an error.