drio
Technical ReviewAPI Reference

Tools

Tool CRUD, bindings, and tool chaining.

GET
/api/v1/apps/{appId}/tools

Authorization

oauth openid, profile, email
AuthorizationBearer <token>

In: header

Scope: openid, profile, email

Path Parameters

appId*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://mcp.getdrio.com/api/v1/apps/string/tools"
{
  "tools": [
    {
      "id": "tool_123",
      "appId": "app_123",
      "key": "search-contacts",
      "name": "Search Contacts",
      "description": "Searches HubSpot contacts.",
      "kind": "function",
      "isEnabled": true,
      "order": 0,
      "annotations": {
        "readOnlyHint": true
      },
      "binding": {
        "type": "integration_operation",
        "integrationOperationId": "operation_123",
        "schemaHashAtBindTime": "schema_123",
        "status": "ready"
      },
      "nextToolIds": [
        "tool_456"
      ],
      "widgetId": "widget_123"
    }
  ]
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
POST
/api/v1/apps/{appId}/tools

Authorization

oauth openid, profile, email
AuthorizationBearer <token>

In: header

Scope: openid, profile, email

Path Parameters

appId*string

Request Body

application/json

Tool payload

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://mcp.getdrio.com/api/v1/apps/string/tools" \  -H "Content-Type: application/json" \  -d '{    "name": "Search Contacts",    "description": "Searches HubSpot contacts.",    "kind": "function",    "binding": {      "type": "integration_operation",      "integrationOperationId": "operation_123",      "schemaHashAtBindTime": "schema_123",      "status": "ready"    },    "nextToolIds": [      "tool_456"    ]  }'
{
  "tool": {
    "id": "tool_123",
    "appId": "app_123",
    "key": "search-contacts",
    "name": "Search Contacts",
    "description": "Searches HubSpot contacts.",
    "kind": "function",
    "isEnabled": true,
    "order": 0,
    "annotations": {
      "readOnlyHint": true
    },
    "binding": {
      "type": "integration_operation",
      "integrationOperationId": "operation_123",
      "schemaHashAtBindTime": "schema_123",
      "status": "ready"
    },
    "nextToolIds": [
      "tool_456"
    ],
    "widgetId": "widget_123"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
GET
/api/v1/apps/{appId}/tools/{toolId}

Authorization

oauth openid, profile, email
AuthorizationBearer <token>

In: header

Scope: openid, profile, email

Path Parameters

appId*string
toolId*string

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://mcp.getdrio.com/api/v1/apps/string/tools/string"
{
  "tool": {
    "id": "string",
    "appId": "string",
    "key": "string",
    "name": "string",
    "description": "string",
    "kind": "string",
    "isEnabled": true,
    "order": 0,
    "annotations": {
      "readOnlyHint": true,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": true
    },
    "binding": {
      "type": "custom",
      "integrationOperationId": "string",
      "schemaHashAtBindTime": "string",
      "status": "draft"
    },
    "nextToolIds": [
      "string"
    ],
    "widgetId": "string"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
PATCH
/api/v1/apps/{appId}/tools/{toolId}

Authorization

oauth openid, profile, email
AuthorizationBearer <token>

In: header

Scope: openid, profile, email

Path Parameters

appId*string
toolId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://mcp.getdrio.com/api/v1/apps/string/tools/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "tool": {
    "id": "string",
    "appId": "string",
    "key": "string",
    "name": "string",
    "description": "string",
    "kind": "string",
    "isEnabled": true,
    "order": 0,
    "annotations": {
      "readOnlyHint": true,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": true
    },
    "binding": {
      "type": "custom",
      "integrationOperationId": "string",
      "schemaHashAtBindTime": "string",
      "status": "draft"
    },
    "nextToolIds": [
      "string"
    ],
    "widgetId": "string"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
DELETE
/api/v1/apps/{appId}/tools/{toolId}

Authorization

oauth openid, profile, email
AuthorizationBearer <token>

In: header

Scope: openid, profile, email

Path Parameters

appId*string
toolId*string

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "https://mcp.getdrio.com/api/v1/apps/string/tools/string"
{
  "deleted": true
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
PUT
/api/v1/apps/{appId}/tools/{toolId}/binding

Authorization

oauth openid, profile, email
AuthorizationBearer <token>

In: header

Scope: openid, profile, email

Path Parameters

appId*string
toolId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PUT "https://mcp.getdrio.com/api/v1/apps/string/tools/string/binding" \  -H "Content-Type: application/json" \  -d '{    "type": "custom",    "integrationOperationId": "string",    "schemaHashAtBindTime": "string",    "status": "draft"  }'
{
  "tool": {
    "id": "string",
    "appId": "string",
    "key": "string",
    "name": "string",
    "description": "string",
    "kind": "string",
    "isEnabled": true,
    "order": 0,
    "annotations": {
      "readOnlyHint": true,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": true
    },
    "binding": {
      "type": "custom",
      "integrationOperationId": "string",
      "schemaHashAtBindTime": "string",
      "status": "draft"
    },
    "nextToolIds": [
      "string"
    ],
    "widgetId": "string"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
PUT
/api/v1/apps/{appId}/tools/{toolId}/chain

Authorization

oauth openid, profile, email
AuthorizationBearer <token>

In: header

Scope: openid, profile, email

Path Parameters

appId*string
toolId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PUT "https://mcp.getdrio.com/api/v1/apps/string/tools/string/chain" \  -H "Content-Type: application/json" \  -d '{    "nextToolIds": [      "string"    ]  }'
{
  "tool": {
    "id": "string",
    "appId": "string",
    "key": "string",
    "name": "string",
    "description": "string",
    "kind": "string",
    "isEnabled": true,
    "order": 0,
    "annotations": {
      "readOnlyHint": true,
      "destructiveHint": true,
      "idempotentHint": true,
      "openWorldHint": true
    },
    "binding": {
      "type": "custom",
      "integrationOperationId": "string",
      "schemaHashAtBindTime": "string",
      "status": "draft"
    },
    "nextToolIds": [
      "string"
    ],
    "widgetId": "string"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6"
  }
}