| name | provider-unregister |
| description | Remove a registered remote provider from Weaver. This disconnects the external service but does
not affect the remote service itself. Use when decommissioning integrations or removing outdated
provider registrations.
|
| license | Apache-2.0 |
| compatibility | Requires Weaver API access with provider management permissions. |
| metadata | {"author":"fmigneault"} |
Unregister Provider
Remove a registered remote provider from Weaver.
When to Use
- Removing outdated provider registrations
- Decommissioning service integrations
- Cleaning up unused providers
- Updating provider configurations (unregister then re-register)
- Managing provider lifecycle
Parameters
Required
- provider_id (string): Provider identifier to remove
CLI Usage
weaver unregister -u $WEAVER_URL -n my-provider
weaver capabilities -u $WEAVER_URL --providers
weaver unregister -u $WEAVER_URL -n old-provider
weaver capabilities -u $WEAVER_URL --providers
Python Usage
from weaver.cli import WeaverClient
client = WeaverClient(url="https://weaver.example.com")
result = client.unregister(provider_id="my-provider")
if result.success:
print("Provider unregistered successfully")
API Request
curl -X DELETE \
"${WEAVER_URL}/providers/my-provider"
Returns
{
"id": "my-provider",
"status": "unregistered",
"message": "Provider successfully removed"
}
Note: Response may include additional fields. See
API documentation for complete response schemas.
Behavior
- Does NOT affect: The remote service (remains operational)
- Removes: Provider registration from Weaver
- Invalidates: References to provider processes in workflows
- Preserves: Historical job records that used the provider
Impact on Existing Jobs
- Completed jobs: Remain accessible with full history
- Running jobs: Continue execution (already dispatched)
- Pending jobs: May fail if they reference the provider
Use Cases
Provider Update
weaver unregister -u $WEAVER_URL -n my-provider
weaver register -u $WEAVER_URL -n my-provider -w https://new-url.example.com/wps
Cleanup
providers = client.capabilities(providers=True)
for provider in providers.body.get("providers", []):
try:
processes = client.capabilities(provider=provider["id"])
if not processes.body.get("processes"):
client.unregister(provider_id=provider["id"])
except Exception:
client.unregister(provider_id=provider["id"])
Service Migration
weaver register -u $WEAVER_URL -n new-provider -w https://new.example.com/wps
weaver capabilities -u $WEAVER_URL -P new-provider
weaver unregister -u $WEAVER_URL -n old-provider
Error Handling
- 404 Not Found: Provider does not exist
- 403 Forbidden: Insufficient permissions
- 409 Conflict: Provider has active jobs
Related Skills
Documentation