Input Partials
Manage saved parameter presets for actions and triggers.
Input Partials
Input partials are saved parameter configurations (presets) scoped to a workspace and integration. They store default values and enforced keys that merge into action and trigger inputs at execution time.
Create Partial
/api/v1/partialsCreate a new input partial.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
workspaceId | string (uuid) | Yes | Workspace to scope this partial to |
integrationName | string | Yes | Integration name (e.g., slack, github) |
actionName | string | No | Action name. Null means integration-wide (applies to all actions) |
name | string | Yes | Display name (max 100 chars) |
description | string | No | Description (max 500 chars) |
values | object | Yes | Key-value pairs to pre-fill |
enforcedKeys | string[] | No | Keys whose values cannot be overridden at runtime |
isDefault | boolean | No | Whether this partial auto-applies when no partialIds are specified (default: false) |
Response (201)
{
"partial": {
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"orgId": "org_abc123",
"workspaceId": "proj_abc123",
"integrationName": "slack",
"actionName": "send_channel_message",
"name": "General Channel Preset",
"description": "Always post to #general",
"values": { "channel": "C01ABCDEF" },
"enforcedKeys": ["channel"],
"isDefault": false,
"createdAt": "2025-01-15T10:00:00.000Z",
"updatedAt": "2025-01-15T10:00:00.000Z"
}
}Example
curl -X POST https://api.weavz.io/api/v1/partials \
-H "Authorization: Bearer wvz_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"workspaceId": "proj_abc123",
"integrationName": "slack",
"actionName": "send_channel_message",
"name": "General Channel Preset",
"values": { "channel": "C01ABCDEF" },
"enforcedKeys": ["channel"]
}'Errors
| Status | Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | Missing required fields or invalid data |
409 | DUPLICATE | A partial with this name already exists in the same scope |
List Partials
/api/v1/partialsList input partials for a workspace, optionally filtered by integration or action.
Query Parameters
| Field | Type | Required | Description |
|---|---|---|---|
workspaceId | string (uuid) | Yes | Workspace ID to list partials for |
integrationName | string | No | Filter by integration name |
actionName | string | No | Filter by action name |
Response
{
"partials": [
{
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"orgId": "org_abc123",
"workspaceId": "proj_abc123",
"integrationName": "slack",
"actionName": "send_channel_message",
"name": "General Channel Preset",
"description": null,
"values": { "channel": "C01ABCDEF" },
"enforcedKeys": ["channel"],
"isDefault": false,
"createdAt": "2025-01-15T10:00:00.000Z",
"updatedAt": "2025-01-15T10:00:00.000Z"
}
],
"total": 1
}Example
curl "https://api.weavz.io/api/v1/partials?workspaceId=proj_abc123&integrationName=slack" \
-H "Authorization: Bearer wvz_your_api_key"Get Partial
/api/v1/partials/:idGet a single input partial by ID.
Path Parameters
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Partial ID |
Example
curl https://api.weavz.io/api/v1/partials/a1b2c3d4-5678-90ab-cdef-1234567890ab \
-H "Authorization: Bearer wvz_your_api_key"Errors
| Status | Code | Description |
|---|---|---|
404 | NOT_FOUND | Partial not found |
Update Partial
/api/v1/partials/:idUpdate an existing input partial.
Path Parameters
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Partial ID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | New display name |
description | string | No | New description |
values | object | No | New values (replaces existing) |
enforcedKeys | string[] | No | New enforced keys (replaces existing) |
isDefault | boolean | No | Set as default partial |
Example
curl -X PATCH https://api.weavz.io/api/v1/partials/a1b2c3d4-5678-90ab-cdef-1234567890ab \
-H "Authorization: Bearer wvz_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"values": { "channel": "C01ABCDEF", "username": "weavz-bot" },
"enforcedKeys": ["channel", "username"]
}'Errors
| Status | Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | No updates provided or invalid data |
404 | NOT_FOUND | Partial not found |
409 | DUPLICATE | A partial with this name already exists |
Delete Partial
/api/v1/partials/:idDelete an input partial. Any MCP server tools referencing this partial in their partialIds arrays are automatically cleaned up.
Path Parameters
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Partial ID |
Response
{
"deleted": true,
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}Example
curl -X DELETE https://api.weavz.io/api/v1/partials/a1b2c3d4-5678-90ab-cdef-1234567890ab \
-H "Authorization: Bearer wvz_your_api_key"Errors
| Status | Code | Description |
|---|---|---|
404 | NOT_FOUND | Partial not found |
Set Default
/api/v1/partials/:id/set-defaultSet or unset a partial as the default for its scope. Default partials auto-apply when no explicit partialIds are provided during action execution.
Path Parameters
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Partial ID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
isDefault | boolean | Yes | Whether this partial should be the default |
Example
curl -X POST https://api.weavz.io/api/v1/partials/a1b2c3d4-5678-90ab-cdef-1234567890ab/set-default \
-H "Authorization: Bearer wvz_your_api_key" \
-H "Content-Type: application/json" \
-d '{"isDefault": true}'Errors
| Status | Code | Description |
|---|---|---|
404 | NOT_FOUND | Partial not found |