VirtuousAI
Reference

Connections

List Connections

GET
/api/v1/connections

Query Parameters

q?|

Search by name or slug

provider?array<>|
status?array<>|
visibility?array<>|
sort_by?string

Sortable fields for connection list.

Default"name"
Value in"name" | "created_at" | "updated_at" | "last_verified_at" | "status" | "provider"
order?string

Sort direction for pagination.

Default"asc"
Value in"asc" | "desc"
limit?integer
Default50
Range1 <= value <= 100
offset?integer
Default0
Range0 <= value
cursor?|

Cursor for pagination (if provided, uses cursor mode)

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/connections"
{
  "connections": [
    {
      "config": {},
      "createdAt": "2019-08-24T14:15:22Z",
      "createdBy": "string",
      "hasCredentials": true,
      "id": "string",
      "isDefault": true,
      "isFromTemplate": true,
      "lastUsedAt": "2019-08-24T14:15:22Z",
      "lastVerifiedAt": "2019-08-24T14:15:22Z",
      "name": "string",
      "provider": "string",
      "slug": "string",
      "status": "needs_verification",
      "updatedAt": "2019-08-24T14:15:22Z",
      "updatedBy": "string",
      "verificationDetails": {},
      "verificationError": "string",
      "verificationErrorCode": "string",
      "visibility": "private"
    }
  ],
  "hasNext": true,
  "limit": 0,
  "offset": 0,
  "total": 0,
  "users": {}
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Create Connection

POST
/api/v1/connections

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Request Body

application/json

config?|
credentials*
name*string
Length1 <= length <= 255
provider*string

Supported external system providers.

Value in"shopify" | "http_api" | "flexiroam" | "starlink" | "s3" | "google_drive" | "msft_sharepoint" | "klaviyo" | "amazon_sp" | "salesforce" | "netsuite" | "sqlserver" | "postgres" | "mlflow" | "sftp" | "gmail_inbox" | "dropbox" | "rydership" | "gorgias" | "redo" | "bullhorn"
slug?|
visibility?string

Who can discover and use a connection within its tenant.

Default"private"
Value in"private" | "global"

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/connections" \  -H "Content-Type: application/json" \  -d '{    "credentials": {      "property1": "string",      "property2": "string"    },    "name": "string",    "provider": "shopify"  }'
{
  "config": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "hasCredentials": true,
  "id": "string",
  "isDefault": true,
  "isFromTemplate": true,
  "lastUsedAt": "2019-08-24T14:15:22Z",
  "lastVerifiedAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "provider": "string",
  "slug": "string",
  "status": "needs_verification",
  "updatedAt": "2019-08-24T14:15:22Z",
  "updatedBy": "string",
  "verificationDetails": {},
  "verificationError": "string",
  "verificationErrorCode": "string",
  "visibility": "private"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Connection By Slug

GET
/api/v1/connections/slug/{slug}

Path Parameters

slug*string

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/connections/slug/string"
{
  "config": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "hasCredentials": true,
  "id": "string",
  "isDefault": true,
  "isFromTemplate": true,
  "lastUsedAt": "2019-08-24T14:15:22Z",
  "lastVerifiedAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "provider": "string",
  "slug": "string",
  "status": "needs_verification",
  "updatedAt": "2019-08-24T14:15:22Z",
  "updatedBy": "string",
  "verificationDetails": {},
  "verificationError": "string",
  "verificationErrorCode": "string",
  "visibility": "private"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Connection

GET
/api/v1/connections/{connection_id}

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "config": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "hasCredentials": true,
  "id": "string",
  "isDefault": true,
  "isFromTemplate": true,
  "lastUsedAt": "2019-08-24T14:15:22Z",
  "lastVerifiedAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "provider": "string",
  "slug": "string",
  "status": "needs_verification",
  "updatedAt": "2019-08-24T14:15:22Z",
  "updatedBy": "string",
  "verificationDetails": {},
  "verificationError": "string",
  "verificationErrorCode": "string",
  "visibility": "private"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Update Connection

PATCH
/api/v1/connections/{connection_id}

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Request Body

application/json

config?|
credentials?|
name?|
slug?|
visibility?|

Response Body

application/json

application/json

curl -X PATCH "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "config": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "hasCredentials": true,
  "id": "string",
  "isDefault": true,
  "isFromTemplate": true,
  "lastUsedAt": "2019-08-24T14:15:22Z",
  "lastVerifiedAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "provider": "string",
  "slug": "string",
  "status": "needs_verification",
  "updatedAt": "2019-08-24T14:15:22Z",
  "updatedBy": "string",
  "verificationDetails": {},
  "verificationError": "string",
  "verificationErrorCode": "string",
  "visibility": "private"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Delete Connection

DELETE
/api/v1/connections/{connection_id}

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

curl -X DELETE "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Disable Connection

POST
/api/v1/connections/{connection_id}/disable

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/disable"
{
  "config": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "hasCredentials": true,
  "id": "string",
  "isDefault": true,
  "isFromTemplate": true,
  "lastUsedAt": "2019-08-24T14:15:22Z",
  "lastVerifiedAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "provider": "string",
  "slug": "string",
  "status": "needs_verification",
  "updatedAt": "2019-08-24T14:15:22Z",
  "updatedBy": "string",
  "verificationDetails": {},
  "verificationError": "string",
  "verificationErrorCode": "string",
  "visibility": "private"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Connection Edit Settings

GET
/api/v1/connections/{connection_id}/edit-settings

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/edit-settings"
{
  "config": {},
  "secretFields": {
    "property1": {
      "configured": true
    },
    "property2": {
      "configured": true
    }
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Files

GET
/api/v1/connections/{connection_id}/files

Path Parameters

connection_id*string
Formatuuid

Query Parameters

path?string

Path or folder ID

Default"/"
page_token?|

Next page token

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/files"
{
  "items": [
    {
      "id": "string",
      "kind": "file",
      "mimeType": "string",
      "modifiedAt": "2019-08-24T14:15:22Z",
      "name": "string",
      "path": "string",
      "size": 0
    }
  ],
  "nextPageToken": "string",
  "path": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Validate File Selection

POST
/api/v1/connections/{connection_id}/files/validate

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Request Body

application/json

rootPath?|
selectedItems*array<>

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/files/validate" \  -H "Content-Type: application/json" \  -d '{    "selectedItems": [      "string"    ]  }'
{
  "maxDepth": 0,
  "totalBytes": 0,
  "totalItems": 0,
  "valid": true,
  "violations": []
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Reactivate Connection

POST
/api/v1/connections/{connection_id}/reactivate

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/reactivate"
{
  "config": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "hasCredentials": true,
  "id": "string",
  "isDefault": true,
  "isFromTemplate": true,
  "lastUsedAt": "2019-08-24T14:15:22Z",
  "lastVerifiedAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "provider": "string",
  "slug": "string",
  "status": "needs_verification",
  "updatedAt": "2019-08-24T14:15:22Z",
  "updatedBy": "string",
  "verificationDetails": {},
  "verificationError": "string",
  "verificationErrorCode": "string",
  "visibility": "private"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Schema Columns

GET
/api/v1/connections/{connection_id}/schema/columns

Path Parameters

connection_id*string
Formatuuid

Query Parameters

schema*string
table*string

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/schema/columns?schema=string&table=string"
{
  "columns": [
    {
      "dataType": "string",
      "name": "string",
      "normalizedName": "string",
      "nullable": true,
      "primaryKey": false
    }
  ],
  "schema": "string",
  "table": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Query Schema

POST
/api/v1/connections/{connection_id}/schema/query

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Request Body

application/json

maxRows?|
sql*string
Length1 <= length <= 10000

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/schema/query" \  -H "Content-Type: application/json" \  -d '{    "sql": "string"  }'
{
  "columns": [
    "string"
  ],
  "maxRows": 0,
  "queryHash": "string",
  "rowCount": 0,
  "rows": [
    {}
  ],
  "tableRefs": [
    {
      "schema": "string",
      "table": "string"
    }
  ],
  "truncated": true
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Sample Schema Table

POST
/api/v1/connections/{connection_id}/schema/sample

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Request Body

application/json

columns?array<>|
maxRows?|
schema*string
table*string

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/schema/sample" \  -H "Content-Type: application/json" \  -d '{    "schema": "string",    "table": "string"  }'
{
  "columns": [
    {
      "dataType": "string",
      "name": "string",
      "normalizedName": "string",
      "nullable": true,
      "primaryKey": false
    }
  ],
  "maxRows": 0,
  "rowCount": 0,
  "rows": [
    {}
  ],
  "schema": "string",
  "table": "string",
  "truncated": true
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Schema Tables

GET
/api/v1/connections/{connection_id}/schema/tables

Path Parameters

connection_id*string
Formatuuid

Query Parameters

include_system?boolean

Include system schemas

Defaultfalse

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/schema/tables"
{
  "tables": [
    {
      "normalizedName": "string",
      "schema": "string",
      "spec": "string",
      "table": "string"
    }
  ]
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Set Default Connection

POST
/api/v1/connections/{connection_id}/set-default

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/set-default"
{
  "config": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "hasCredentials": true,
  "id": "string",
  "isDefault": true,
  "isFromTemplate": true,
  "lastUsedAt": "2019-08-24T14:15:22Z",
  "lastVerifiedAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "provider": "string",
  "slug": "string",
  "status": "needs_verification",
  "updatedAt": "2019-08-24T14:15:22Z",
  "updatedBy": "string",
  "verificationDetails": {},
  "verificationError": "string",
  "verificationErrorCode": "string",
  "visibility": "private"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Verify Connection

POST
/api/v1/connections/{connection_id}/verify

Path Parameters

connection_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/connections/497f6eca-6276-4993-bfeb-53cbbbba6f08/verify"
{
  "config": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "hasCredentials": true,
  "id": "string",
  "isDefault": true,
  "isFromTemplate": true,
  "lastUsedAt": "2019-08-24T14:15:22Z",
  "lastVerifiedAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "provider": "string",
  "slug": "string",
  "status": "needs_verification",
  "updatedAt": "2019-08-24T14:15:22Z",
  "updatedBy": "string",
  "verificationDetails": {},
  "verificationError": "string",
  "verificationErrorCode": "string",
  "visibility": "private"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}