Update assigned plan for the partner's own organization
Changes the plan assigned to the partner's own (MSP) organization — the one referenced by the partner's organizationId. The change takes effect immediately: the current subscription (typically the trial the organization was provisioned with) is marked as upgraded and a new active, distributor-billed subscription is created with the selected plan. If the organization is already on the requested plan, no change is made.
This is the only way to move an MSP organization off its trial: it is deliberately not
addressable through the customer /organizations endpoints. Use the plans endpoint to
see available plan slugs and commitment options.
Authorization
DistributorApiKey Long-lived distributor API key scoped to a channel partner on the shared smao instance.
In: header
Path Parameters
MongoDB ObjectId of the partner (MSP).
^[a-fA-F0-9]{24}$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
application/json
application/json
application/json
curl -X PATCH "https://example.com/partners/665abc123def456789012345/plan" \ -H "Content-Type: application/json" \ -d '{ "plan": { "slug": "professional", "commitment": "yearly" } }'{ "status": "success", "partner": { "id": "665abc123def456789012345", "name": "MSP Hamburg GmbH", "externalPartnerId": "MSP-001", "contactEmail": "admin@msp-hamburg.de", "contactName": "Hans Mueller", "isActive": true, "notes": null, "organizationId": "665abc123def456789012346", "organizationCount": 12, "createdAt": "2026-03-20T10:41:14.553Z" }, "plan": { "id": "6967b1c7138bed3e7f6bf7e6", "slug": "string", "name": "string", "commitment": "none", "currency": "string", "baseFee": 0 }}Update partner PATCH
Update partner
Delete partner DELETE
Deletes a partner only when it has no linked customer organizations and no internal MSP organization. Partners created through v1 normally have an internal organization, so this operation returns `409 PARTNER_HAS_ORGANIZATIONS` until that organization has been removed outside this endpoint. There is no cascade delete.