POST
/
o
/
{organisation_id}
/
protocols
/
http
/
import

Authorizations

Authorization
string
headerrequired

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
required

Body

file
file

The file to be imported.

metadata
object

ImportHTTPConnectorMetadata defines the metadata part of the multipart/form-data request when importing a Connector from another format.

metadata.format
enum<string>
required

The format of the file to be imported.

  • openapi - OpenAPI 3.x specification, we may include support for 2.x in the future.
Available options:
openapi

Response

201 - application/json
connector
object
required

HTTPConnector represents a connector to an external system over HTTP.

connector.id
string
required

ID is the unique identifier of the Connector.

connector.organisationId
string
required

OrganisationID is the unique identifier of the Organisation that owns the Connector.

connector.name
string
required

Name is the user-provided name of the Connector

connector.public
boolean
required
connector.documentationURL
string

Hold an optional link to the documentation for the API.

connector.imageURL
string

The URL for the icon for the connector

connector.tags
object
connector.protocol
enum<string>
required

ProtocolType denotes the set of all valid connector types.

Available options:
http,
bigquery
connector.authSchemeConfigs
object[]
required
connector.connectionVariables
object[]

Connection Variables is a list of default variables initialised in every connector connection.

connector.connections
object[]
required

Connections is a list of all the connections this Connector has.

connector.versions
object[]
required

Versions is a list of all the versions this Connector has.

connector.createdAt
string
required

CreatedAt is the time at which the ConnectorVersion was created.

connector.updatedAt
string
required

UpdatedAt is the time at which the ConnectorVersion was last updated, including any changes to child resources.

connector.baseUrl
string
required

BaseURL is the base URL of all HTTP Actions within the Connector.

definitions
object[]
required
definitions.id
string
required

ID is the unique identifier of the Definition.

definitions.name
string
required

Name is a unique identifier for the Definition within the scope of the Connector. It is expected to both human and machine-readable, i.e. "Product" or "product_variant".

definitions.accept
string[]
required

Accept indicates which content types, expressed as MIME types, that this definition can accept. This value is analogous to the Accept HTTP header, as defined in RFC 7231, section 5.3.2, except each type is defined in a separate array element, rather than as a comma-separated list.

This does not represent the content type of the schema body itself, but the data which conforms to this definition. For example, an API may respond in JSON or YAML, but the schema may be a YAML-formatted JSON Schema. In this case, the Definition's accept field could be ["application/json", "text/yaml"] and schema.contentType will be application/schema+yaml.

definitions.description
string

Description is a human-friendly description of the Definition. This is typically used to describe the purpose of the Definition and how it should be used.

definitions.url
string
required

URL is the location of the actual Schema definition for this Definition entity.

The structure of this URL will be consistent across all media types for each connection, for example:

  • https://platform.versori.com/api/schemas/v1/o/{organisation_id}/{connector_id}/{connector_version}/{definition_slug}.{media_type_ext}
definitions.referencedBy
object[]

ReferencedBy is a list of DefinitionReference objects which defines what other entities are referencing the this Definition.

actions
object[]
required
actions.id
string
required

ID is the unique identifier of the Action.

actions.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.

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

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

actions.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.

actions.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.

actions.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
actions.path
string
required

ActionPath is appended to the Connector'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.
  • {{ conn.<name> }} - Injects the value of the connection variable with the given name.
actions.parameters
object[]
required
actions.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.

actions.responses
object[]
required

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

triggers
object[]
required
triggers.id
string
required

ID is the unique identifier of the Trigger.

triggers.errors
object[]

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

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

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

triggers.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 Trigger to users, however if omitted the TriggerId can be used to display to users instead.

triggers.description
string

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

triggers.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
triggers.parameters
object[]
required
triggers.requestBody
object

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

triggers.responses
object[]
required

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

messages
object[]
required
messages.text
string
required

Text contains the text of the message.

messages.severity
enum<string>
required
Available options:
info,
warning,
error
messages.detail
string[]

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.