list-checkManage Partner Lifecycle

Manage the full partner lifecycle — deactivate partners temporarily, reactivate them, and list partners with filters.

circle-info

When to use: When you need to disable a partner that is misbehaving, no longer needed, or needs temporary restriction.

chevron-rightPrerequisiteshashtag

5-Line Core

# Deactivate (reversible)
await provider.deactivate_partner(partner_id)

# Reactivate
await provider.reactivate_partner(partner_id)

Partner States

State
Can Sign?
Can Reactivate?
Signatures Valid?

Active

Yes

N/A

Yes

Inactive

No

Yes

No

Step-by-Step

1

Deactivate a Partner

Deactivation is reversible — use it when a partner needs temporary restriction:

2

Verify Signature Rejection

Signatures from deactivated partners are rejected immediately:

3

Reactivate a Partner

4

List Partners

List partners with optional filtering:

5

Expected Output

circle-check

Error Codes Reference

Error Code
Description

partner_not_found

Consumer key or partner ID not recognized

partner_inactive

Partner has been deactivated

invalid_partner_signature

HMAC-SHA256 signature mismatch

partner_already_exists

Partner with same name already registered

no_partner_registry

Provider does not support partner registry

signature_expired

Timestamp outside tolerance window

email_domain_not_allowed

Email domain not in partner's allowed list

max_users_exceeded

Partner has reached maximum user cap

Complete Example

Create manage_partner_lifecycle.py:

Run it:

Expected output:

Common Pitfalls

Pitfall
Solution

Deactivating without notifying

Coordinate with partner before deactivation

Not checking error codes

Always check result.error.code for specific failure reasons

Missing organization filter

Pass organization_id to scope list_partners results

Confusing deactivate vs revoke

Unlike agents, deactivation is always reversible

Next Steps


circle-info

Found an issue on this page? Report it on our feedback formarrow-up-right.

Last updated

Was this helpful?