VirtuousAI
Reference

Connections

List Connections

GET
/api/v1/connections

Query Parameters

q?|

Search by name or slug

provider?array<>|
status?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",
      "verificationError": "string"
    }
  ],
  "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" | "s3" | "google_drive" | "klaviyo" | "amazon_sp" | "sqlserver"
slug?|

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",
  "verificationError": "string"
}
{
  "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",
  "verificationError": "string"
}
{
  "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",
  "verificationError": "string"
}
{
  "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?|

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",
  "verificationError": "string"
}
{
  "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",
  "verificationError": "string"
}
{
  "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",
      "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",
  "verificationError": "string"
}
{
  "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",
      "nullable": true
    }
  ],
  "schema": "string",
  "table": "string"
}
{
  "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": [
    {
      "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",
  "verificationError": "string"
}
{
  "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",
  "verificationError": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}