VirtuousAI
Reference

Api catalog

List Api Catalog

GET
/api/v1/api-catalog

Query Parameters

q?|

Search API Catalog by name, description, or target URL

type?|
status?|
limit?integer
Default50
Range1 <= value <= 100
offset?integer
Default0
Range0 <= value

Header Parameters

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

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/api-catalog"
{
  "hasNext": true,
  "items": [
    {
      "approvalRequired": true,
      "baseUrl": "string",
      "connectionId": "string",
      "createdAt": "string",
      "description": "string",
      "endpointCount": 0,
      "id": "string",
      "name": "string",
      "status": "active",
      "toolCount": 0,
      "type": "http",
      "updatedAt": "string",
      "url": "string"
    }
  ],
  "limit": 0,
  "offset": 0,
  "total": 0
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Ai Import New Api Catalog Endpoints

POST
/api/v1/api-catalog/ai-import

Header Parameters

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

Request Body

application/json

baseUrl?|
content?|
contentType?string
Default"auto"

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/api-catalog/ai-import" \  -H "Content-Type: application/json" \  -d '{}'
{
  "baseUrl": "string",
  "endpoints": [
    {
      "bodyTemplate": {},
      "description": "string",
      "headers": {
        "property1": "string",
        "property2": "string"
      },
      "inputSchema": {},
      "method": "GET",
      "name": "string",
      "path": "string",
      "queryTemplate": {
        "property1": "string",
        "property2": "string"
      },
      "responseExtract": "string",
      "source": "ai_generated"
    }
  ],
  "existingApi": {
    "approvalRequired": true,
    "baseUrl": "string",
    "connectionId": "string",
    "createdAt": "string",
    "description": "string",
    "endpointCount": 0,
    "id": "string",
    "name": "string",
    "status": "active",
    "toolCount": 0,
    "type": "http",
    "updatedAt": "string",
    "url": "string"
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Discover Api Catalog Capabilities

POST
/api/v1/api-catalog/discover

Header Parameters

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

Request Body

application/json

baseUrl?|
connectionId?|
mcpTransport?string
Default"http"
Value in"http" | "sse"
mcpUrl?|
sourceType*string
Value in"http" | "mcp"
specUrl?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/api-catalog/discover" \  -H "Content-Type: application/json" \  -d '{    "sourceType": "http"  }'
{
  "authHints": [
    {
      "label": "string",
      "location": "header",
      "name": "string",
      "type": "api_key_header"
    }
  ],
  "authRequired": false,
  "baseUrl": "string",
  "connectionId": "string",
  "count": 0,
  "endpoints": [
    {}
  ],
  "existingApi": {
    "approvalRequired": true,
    "baseUrl": "string",
    "connectionId": "string",
    "createdAt": "string",
    "description": "string",
    "endpointCount": 0,
    "id": "string",
    "name": "string",
    "status": "active",
    "toolCount": 0,
    "type": "http",
    "updatedAt": "string",
    "url": "string"
  },
  "kind": "api_capability_discovery",
  "sourceType": "http",
  "specUrl": "string",
  "tools": [
    {}
  ],
  "transport": "http",
  "url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Save Http Api Catalog Entry

POST
/api/v1/api-catalog/http

Header Parameters

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

Request Body

application/json

baseUrl*string
Length1 <= length
connectionId?|
description*string
Length1 <= length <= 2048
endpoints*array<>
Items1 <= items
name*string
Length1 <= length <= 255

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/api-catalog/http" \  -H "Content-Type: application/json" \  -d '{    "baseUrl": "string",    "description": "string",    "endpoints": [      {        "method": "GET",        "name": "string",        "path": "string"      }    ],    "name": "string"  }'
{
  "approvalRequired": true,
  "baseUrl": "string",
  "connectionId": "string",
  "createdAt": "string",
  "description": "string",
  "endpointCount": 0,
  "endpoints": [
    {}
  ],
  "id": "string",
  "name": "string",
  "status": "active",
  "toolCount": 0,
  "tools": [
    {}
  ],
  "transport": "http",
  "type": "http",
  "updatedAt": "string",
  "url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Save Mcp Api Catalog Entry

POST
/api/v1/api-catalog/mcp

Header Parameters

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

Request Body

application/json

connectionId?|
description*string
Length1 <= length <= 2048
name*string
Length1 <= length <= 255
tools*array<>
Items1 <= items
transport?string
Default"http"
Value in"http" | "sse"
url*string
Length1 <= length

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/api-catalog/mcp" \  -H "Content-Type: application/json" \  -d '{    "description": "string",    "name": "string",    "tools": [      {        "upstreamName": "string"      }    ],    "url": "string"  }'
{
  "approvalRequired": true,
  "baseUrl": "string",
  "connectionId": "string",
  "createdAt": "string",
  "description": "string",
  "endpointCount": 0,
  "endpoints": [
    {}
  ],
  "id": "string",
  "name": "string",
  "status": "active",
  "toolCount": 0,
  "tools": [
    {}
  ],
  "transport": "http",
  "type": "http",
  "updatedAt": "string",
  "url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Api Catalog Entry

GET
/api/v1/api-catalog/{api_id}

Path Parameters

api_id*string
Formatuuid

Header Parameters

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

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/api-catalog/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "approvalRequired": true,
  "baseUrl": "string",
  "connectionId": "string",
  "createdAt": "string",
  "description": "string",
  "endpointCount": 0,
  "endpoints": [
    {}
  ],
  "id": "string",
  "name": "string",
  "status": "active",
  "toolCount": 0,
  "tools": [
    {}
  ],
  "transport": "http",
  "type": "http",
  "updatedAt": "string",
  "url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Update Api Catalog Entry

PATCH
/api/v1/api-catalog/{api_id}

Path Parameters

api_id*string
Formatuuid

Header Parameters

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

Request Body

application/json

connectionId?|
description?|
endpoints?array<>|
name?|
status?|
tools?array<>|

Response Body

application/json

application/json

curl -X PATCH "https://loading/api/v1/api-catalog/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "approvalRequired": true,
  "baseUrl": "string",
  "connectionId": "string",
  "createdAt": "string",
  "description": "string",
  "endpointCount": 0,
  "endpoints": [
    {}
  ],
  "id": "string",
  "name": "string",
  "status": "active",
  "toolCount": 0,
  "tools": [
    {}
  ],
  "transport": "http",
  "type": "http",
  "updatedAt": "string",
  "url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Delete Api Catalog Entry

DELETE
/api/v1/api-catalog/{api_id}

Path Parameters

api_id*string
Formatuuid

Header Parameters

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

Response Body

application/json

application/json

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

Ai Import Api Catalog Endpoints

POST
/api/v1/api-catalog/{api_id}/ai-import

Path Parameters

api_id*string
Formatuuid

Header Parameters

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

Request Body

application/json

baseUrl?|
content?|
contentType?string
Default"auto"

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/api-catalog/497f6eca-6276-4993-bfeb-53cbbbba6f08/ai-import" \  -H "Content-Type: application/json" \  -d '{}'
{
  "baseUrl": "string",
  "endpoints": [
    {
      "bodyTemplate": {},
      "description": "string",
      "headers": {
        "property1": "string",
        "property2": "string"
      },
      "inputSchema": {},
      "method": "GET",
      "name": "string",
      "path": "string",
      "queryTemplate": {
        "property1": "string",
        "property2": "string"
      },
      "responseExtract": "string",
      "source": "ai_generated"
    }
  ],
  "existingApi": {
    "approvalRequired": true,
    "baseUrl": "string",
    "connectionId": "string",
    "createdAt": "string",
    "description": "string",
    "endpointCount": 0,
    "id": "string",
    "name": "string",
    "status": "active",
    "toolCount": 0,
    "type": "http",
    "updatedAt": "string",
    "url": "string"
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}