POST
/
http-gateway
/
api
/
v1
/
upload
curl --request POST \
  --url https://http-gateway.vatis.tech/http-gateway/api/v1/upload \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/octet-stream'
{
  "streamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "groupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "configuration": {
    "streamConfigurationTemplateId": "<string>",
    "dataSource": {
      "topic": "<string>",
      "messageSchema": "<string>",
      "connectionOptions": {},
      "headers": {},
      "messageHeaders": {},
      "subscriptions": {}
    },
    "dataSinks": {},
    "processors": [
      {
        "id": "<string>",
        "source": {
          "subscription": "<string>",
          "topic": "<string>",
          "messageSchema": "<string>",
          "connectionOptions": {},
          "headers": {}
        },
        "destination": {
          "topic": "<string>",
          "messageSchema": "<string>",
          "connectionOptions": {},
          "headers": {},
          "messageHeaders": {},
          "subscriptions": {}
        },
        "clusterDomainName": "<string>",
        "podsDiscoveryClusterDomainName": "<string>",
        "propertiesSchema": "<string>",
        "properties": {},
        "egress": {
          "persist": true,
          "sink": true,
          "tags": [
            "<string>"
          ]
        }
      }
    ],
    "dynamicWebhookEndpoints": [
      {
        "id": "<string>",
        "url": "<string>",
        "events": [
          "<string>"
        ],
        "enabled": true,
        "description": "<string>"
      }
    ]
  },
  "createdTimestamp": "2023-11-07T05:31:56Z",
  "creatorId": "<string>",
  "groupCreatorId": "<string>",
  "state": "READY",
  "stateDescription": "<string>",
  "finalizedTimestamp": "2023-11-07T05:31:56Z"
}

Please note the body can be any binary data. Use the Swagger UI to test this endpoint.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Vat-Meta-Template-Patch
string

Stream configuration template JSON patches as described in RFC-6902

Query Parameters

id
string

Stream id. The stream created on this upload will bear this id

name
string

Stream name

groupId
string

Stream group id

streamConfigurationTemplateId
string
required

Stream configuration template id

patches
object

Stream patches. A map of key-value pairs where all unknown query parameters will be interpreted as patches.

Prefix keys with 'patches.' to explicitly mark the query parameter as patch (e.g. when it coincides with another parameter name).

By default, a replace patch will be applied.

To add, prefix the value with '+' (e.g. patches.key=+value).

To remove, set the value to '-' (e.g. patches.key=-).

To escape the special characters + and -, use '\' (backslash) escape-character (e.g. 'patches.key=\+value' will replace the key 'key' with value '+value').

To symbolize a path, use '.' as a separator (e.g. 'patches.key.with.path' will be parsed to '/key/with/path').

persist
boolean

Persist the sinks of the stream matched by the tags

persistTags
any[]

Persist tags to match the sinks of the stream

matchPersistTags
enum<string>

Tags matching strategy. 'ALL'/'ANY' of specified tags must be present on the sink to be marked as persistent

Available options:
ALL,
ANY
webhook
object

Define dynamic webhooks for this stream as query parameters.

The general structure is "webhook[.RESOURCE[.STATE]]=http://my_domain/path".

For example:

  • define a webhook for stream completion: "webhook.stream.completed=http://my_domain/success"

  • define a webhook for all stream events: "webhook.stream=http://my_domain/stream_event"

  • define the same webhook for stream completion and failure: "webhook.stream.completed=http://my_domain/path&webhook.stream.failed=http://my_domain/path"

  • define a webhook for all events: "webhook=http://my_domain/path"

Body

The stream of bytes or the multipart form-data to upload

The body is of type file.

Response

200
application/json
Success
streamId
string
name
string
groupId
string
configuration
object
createdTimestamp
string
creatorId
string
groupCreatorId
string
state
enum<string>
Available options:
READY,
COMPLETED,
FAILED,
EXPIRED
stateDescription
string
finalizedTimestamp
string