How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Willow API API

The Willow API allows you to programmatically manage MCP servers and other resources in your organization.

Willow API API is one of 2 APIs that Willow AI Governance Control Plane publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 6 JSON Schema definitions.

The published artifact set on APIs.io includes an OpenAPI specification and 6 JSON Schemas.

This API exposes 61 operations across 32 paths, organized into 13 resource areas, and defines 85 schemas. It is described by OpenAPI 3.0.3, at version 1.0.0.

Requests are made against a single base URL, https://app.withwillow.ai.

61 operations 32 paths 85 schemas 9 DELETE24 GET10 PATCH18 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
1.0.0
Base URL
https://app.withwillow.ai
Authentication
HTTP Bearer
Resource Areas
13

Authentication & Security 1

Willow API API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

  • bearerAuth — API token authentication. Tokens are prefixed with wxt and can be generated from Admin Settings.

Paths & Operations 61

Across 32 paths, the API surfaces 61 operations — 9 DELETE, 24 GET, 10 PATCH, 18 POST. They span 13 resource areas, including MCP Servers, Connectors, Groups, Users, Toolkits, Skills, Guards, Commands, and 5 more. Each is listed below with its method, path, parameters, and response codes.

MCP Servers 4

Create and manage MCP servers programmatically

GET
/api/mcp-servers
List MCP Servers
listMcpServers 9 params → 200401403500
POST
/api/mcp-servers
Create MCP Server
createMcpServer 1 param body → 201400401403500
PATCH
/api/mcp-servers
Update MCP Server
updateMcpServer 2 params body → 200400401403404500
DELETE
/api/mcp-servers
Delete MCP Server
deleteMcpServer 2 params → 200400401403404500
Connectors 2

Browse the catalog of available connectors (built-in MCPs) and check whether a connector is already in use in your organization

GET
/api/connectors
List Connectors
listConnectors 7 params → 200401403500
GET
/api/connectors/{connector_id}/usage
Check Connector Usage
getConnectorUsage 3 params → 200400401403500
Groups 5

Manage groups and their integrations

GET
/api/groups
List Groups
listGroups 4 params → 200401403500
POST
/api/groups
Create Group
createGroup 1 param body → 201400401403500
PATCH
/api/groups
Update Group
updateGroup 2 params body → 200400401403404500
DELETE
/api/groups
Delete Group
deleteGroup 2 params → 200400401403404500
POST
/api/groups/{name}/integrations
Add Integrations to Group
addIntegrationsToGroup 2 params body → 200400401403404500
Users 5

Manage users in your organization

GET
/api/users
List Users
listUsers 4 params → 200401403500
POST
/api/users
Create User
createUser 1 param body → 201400401403500
PATCH
/api/users
Update User
updateUser 2 params body → 200400401403404500
DELETE
/api/users
Delete User
deleteUser 2 params → 200400401403404500
POST
/api/users/risk-scores
Bulk Update Risk Scores
bulkUpdateRiskScores 1 param body → 200400401500
Toolkits 5

Create and manage toolkits

GET
/api/toolkits
List Toolkits
listToolkits 1 param → 200401403500
POST
/api/toolkits
Create Toolkit
createToolkit 1 param body → 201400401403500
PATCH
/api/toolkits
Update Toolkit
updateToolkit 2 params body → 200400401403404500
DELETE
/api/toolkits
Delete Toolkit
deleteToolkit 2 params → 200400401403404500
POST
/api/toolkits/{slug}/promote
Promote Toolkit
promoteToolkit 2 params body → 200400401403404500
Skills 5

Create and manage skills

GET
/api/skills
List Skills
listSkills 1 param → 200401403500
POST
/api/skills
Create Skill
createSkill 1 param body → 201400401403500
PATCH
/api/skills
Update Skill
updateSkill 2 params body → 200400401403404500
DELETE
/api/skills
Delete Skill
deleteSkill 2 params → 200400401403404500
GET
/api/skills/download
Download Skill
downloadSkill 3 params → 200400401403404500
Guards 4

Create and manage guards (content evaluation rules with checks, thresholds, and actions)

GET
/api/guards
List Guards
listGuards 1 param → 200401403500
POST
/api/guards
Create Guard
createGuard 1 param body → 201400401403500
PATCH
/api/guards
Update Guard
updateGuard 2 params body → 200400401403404500
DELETE
/api/guards
Delete Guard
deleteGuard 2 params → 200400401403404500
Commands 4

Create and manage commands

GET
/api/commands
List Commands
listCommands 1 param → 200401403500
POST
/api/commands
Create Command
createCommand 1 param body → 201400401403500
PATCH
/api/commands
Update Command
updateCommand 2 params body → 200400401403404500
DELETE
/api/commands
Delete Command
deleteCommand 2 params → 200400401403404500
Plugins 5

Create and manage plugins

GET
/api/plugins
List Plugins
listPlugins 1 param → 200401403500
POST
/api/plugins
Create Plugin
createPlugin 1 param body → 201400401403500
PATCH
/api/plugins
Update Plugin
updatePlugin 2 params body → 200400401403404500
DELETE
/api/plugins
Delete Plugin
deletePlugin 2 params → 200400401403404500
POST
/api/plugins/sync
Sync Plugins from GitHub
syncPluginsFromGithub 1 param body → 200202400401403404500
Background Agents 13

Create, sync, and invoke background agents, and inspect their platform sessions

GET
/api/background-agents
List Background Agents
listBackgroundAgents 5 params → 200401403500
POST
/api/background-agents
Create Background Agent
createBackgroundAgent 1 param body → 201400401403409500
GET
/api/background-agents/{id}
Get Background Agent
getBackgroundAgent 2 params → 200401403404500
PATCH
/api/background-agents/{id}
Update Background Agent
updateBackgroundAgent 2 params body → 200400401403404500
DELETE
/api/background-agents/{id}
Delete Background Agent
deleteBackgroundAgent 2 params → 200401403404500
GET
/api/background-agents/by-slug/{slug}
Get Background Agent by Slug
getBackgroundAgentBySlug 2 params → 200401403404500
POST
/api/background-agents/{id}/sync
Sync Background Agent
syncBackgroundAgent 2 params body → 200400401403404500502
POST
/api/background-agents/{id}/rotate-secret
Rotate Background Agent Secret
rotateBackgroundAgentSecret 2 params → 200401403404500
GET
/api/background-agents/{id}/auth-url
Get Background Agent Connect Link
getBackgroundAgentAuthUrl 4 params → 200400401404500
POST
/api/background-agents/{id}/auth-url
Connect Background Agent Account
connectBackgroundAgentAccount 2 params body → 200400401404500
POST
/api/background-agents/{id}/invoke
Invoke Background Agent
invokeBackgroundAgent 2 params body → 200400401403404429500502
GET
/api/background-agents/{id}/sessions
List Background Agent Sessions
listBackgroundAgentSessions 6 params → 200400401403404500502
GET
/api/background-agents/{id}/sessions/{sessionId}/events
Get Session Events
getBackgroundAgentSessionEvents 6 params → 200401403404500502
Auth Exchange 1

Exchange external JWT tokens for Willow Connect credentials

POST
/api/auth-exchange
Exchange JWT for Connect Credentials
exchangeAuth 2 params body → 200400401403500
AI Discovery 6

Inspect AI tools discovered across your organization by the Willow Scan Agent — MCP servers, skills, agent memory, AI agents, and the devices reporting them

GET
/api/discovery/mcp-servers
List Discovered MCP Servers
listDiscoveredMcpServers 4 params → 200401403500
GET
/api/discovery/skills
List Discovered Skills
listDiscoveredSkills 3 params → 200401403500
GET
/api/discovery/memory
List Discovered Agent Memory
listDiscoveredMemory 3 params → 200401403500
GET
/api/discovery/devices
List Devices
listDiscoveredDevices 5 params → 200401403500
GET
/api/discovery/agents
List AI Agents
listDiscoveredAgents 3 params → 200401403500
GET
/api/discovery/stats
Get Discovery Statistics
getDiscoveryStats 1 param → 200401403500
AI Discovery Policy 2

Read and manage the AI Discovery enforcement policy — the default actions and ordered rules that allow, warn, or block discovered MCP servers and skills

GET
/api/discovery/policy
Get Enforcement Policy
getDiscoveryPolicy 1 param → 200401403500
PATCH
/api/discovery/policy
Update Enforcement Policy
updateDiscoveryPolicy 1 param body → 200400401403500

Schemas 85

The contract defines 85 schemas that model the data the API accepts and returns. The most detailed are Plugin (20 properties), Skill (17 properties), Guard (16 properties), DiscoveredMcpServer (16 properties). Each schema is shown below with its type and property counts.

ValidationError
object
3 properties
UnauthorizedError
object
1 property
ServerError
object
1 property
NotFoundError
object
1 property
DiscoveryPagination
object
2 properties
DiscoveryGuardCheck
object
Result of the most recent guard (policy) check, or null if not evaluated
3 properties
DiscoveryAiRisk
object
AI-assessed risk for the capability, or null if not evaluated
4 properties
DiscoveredMcpServerConfig
object
The raw MCP server configuration as discovered on the device
6 properties
DiscoveredMcpServer
object
16 properties
DiscoveredSkill
object
11 properties
DiscoveredMemory
object
9 properties
DiscoveredDevice
object
15 properties
DiscoveredAiAgentInstance
object
4 properties
DiscoveredAiAgent
object
5 properties
DiscoveryStats
object
6 properties
EnforcementRule
object
15 properties
EnforcementPolicy
object
4 properties
UpdateEnforcementPolicyRequest
object
At least one field must be provided. When rules is present it replaces the entire ordered rule set.
4 properties
Connector
object
15 properties
ListConnectorsResponse
object
3 properties
ConnectorUsageResponse
object
1 property
AdminPagination
object
3 properties
McpServersCursorPagination
object
4 properties
AuthExchangeResponse
object
7 properties
ListMcpServersResponse
object
3 properties
McpServer
object
15 properties
CreateMcpServerRequest
object
8 properties 2 required
UpdateMcpServerRequest
object
9 properties
CreateMcpServerResponse
object
1 property
RequestSettings
object
Advanced request configuration for the MCP server
3 properties
Header
object
2 properties 2 required
ProxySettings
object
Settings for MCP proxy behavior
5 properties
AuthSettings
ProxyOauthSettings
object
OAuth 2.0 authentication configuration
5 properties 5 required
ProxyPassthroughSettings
object
Pass through authentication from the client
1 property 1 required
ProxyApiKeySettings
object
API key authentication configuration
2 properties 1 required
NoneAuthSettings
object
No authentication required
1 property 1 required
Group
object
12 properties
GroupSettings
object
8 properties
CreateGroupRequest
object
2 properties 1 required
UpdateGroupRequest
object
2 properties
AddIntegrationsRequest
object
1 property 1 required
AddIntegrationsResponse
object
1 property
User
object
14 properties
MachineUserCredentials
object
One-time authentication credentials returned only when a machine user is created. The secret is shown once at creation time and cannot be retrieved again — sto…
2 properties 2 required
CreateUserRequest
object
2 properties 2 required
UpdateUserRequest
object
3 properties
BulkRiskScoresRequest
object
3 properties 1 required
BulkRiskScoresResponse
object
1 property
CreateMachineUserViaUsersRequest
object
5 properties 2 required
Toolkit
object
14 properties
CreateToolkitRequest
object
6 properties 2 required
UpdateToolkitRequest
object
7 properties
PromoteToolkitRequest
object
3 properties
Skill
object
17 properties
SkillScript
object
4 properties 3 required
SkillReference
object
3 properties 2 required
SkillAsset
object
4 properties 1 required
CreateSkillRequest
object
10 properties 2 required
UpdateSkillRequest
object
10 properties
GuardCheckConfig
object
Check-specific configuration
8 properties
GuardCheck
object
6 properties 3 required
Guard
object
16 properties
CreateGuardRequest
object
9 properties 2 required
UpdateGuardRequest
object
9 properties
Command
object
10 properties
CommandArgument
object
5 properties 2 required
CreateCommandRequest
object
6 properties 3 required
UpdateCommandRequest
object
6 properties
PluginMcps
object
MCP resources associated with the plugin
3 properties
Plugin
object
20 properties
CreatePluginRequest
object
15 properties 2 required
UpdatePluginRequest
object
15 properties
SyncPluginsRequest
object
All fields optional. An empty body syncs every configured source repo and waits for the results.
2 properties
PluginSyncOutcome
object
Result of syncing a single source repo.
6 properties
PluginSyncResult
object
2 properties
BackgroundAgent
object
15 properties
AgentCapabilities
object
The tools, skills, and rules the agent is allowed to use
4 properties
AgentSyncState
object
Result of the last sync with the external agent platform
9 properties
AgentSession
object
A conversation session on the agent's external platform
8 properties
AgentSessionEvent
object
A single event from a session's conversation log
7 properties
CreateBackgroundAgentRequest
object
7 properties 2 required
AgentAuthUrl
object
3 properties
UpdateBackgroundAgentRequest
object
9 properties
InvokeBackgroundAgentRequest
object
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

webrix-api-openapi.json Raw ↑

Other APIs Willow AI Governance Control Plane publishes across the network.

Willow API
Where this information came from

This is an independent, third-party profile of Willow API API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.