Moves the organization (given by orgId, or by its owner's email orgOwnerEmail) to the legacy subscription product productId, invoicing the prorated difference at once, and returns the organization's details. Legacy billing only; scheduled for removal. Returns 404 when the organization or owner is not found. Super admin only.
POST
/admin/payment/update-org-plan
curl \
--request POST 'http://api.example.com/admin/payment/update-org-plan' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"orgId": "string",
"orgOwnerEmail": "string",
"productId": "string"
}'
Request examples
{
"orgId": "string",
"orgOwnerEmail": "string",
"productId": "string"
}
Response examples (200)
{
"data": {
"organization": {
"createdAt": "2026-01-15T14:30:00.000Z",
"updatedAt": "2026-01-15T14:30:00.000Z",
"id": "507f1f77bcf86cd799439011",
"name": "Example Law LLP",
"slug": "example-law-llp",
"email": "office@example.com",
"contact": "Jane Doe",
"city": "New York",
"state": "NY",
"country": "US",
"description": "Litigation practice",
"phone": [
"+15555550100"
],
"logo": "https://files.example.com/logo.png",
"isActive": true,
"isPriority": false,
"activePlan": {
"createdAt": "2026-01-15T14:30:00.000Z",
"updatedAt": "2026-01-15T14:30:00.000Z",
"id": "507f1f77bcf86cd799439011",
"subscription": {},
"relatedSubscription": [
{}
],
"organization": {},
"seats": 5,
"seatsUsed": 3,
"devices": 10,
"deviceUsed": 4,
"storage": 100000000000,
"storageUsed": 12000000000,
"payments": [
{}
],
"type": "admin",
"isActive": true,
"isBetweenPlanChanges": false,
"storageInKb": 100000000,
"storageUsedInKb": 12000000,
"storageInMb": 100000,
"storageUsedInMb": 12000,
"storageInGb": 100,
"storageUsedInGb": 12,
"storageInTb": 0.1,
"storageUsedInTb": 0.012,
"isFreePlan": false,
"remainingSeats": 2,
"remainingDevices": 6,
"remainingStorage": 88000000000
},
"metadata": {},
"type": "law_firm",
"version": "v1"
},
"permission": {
"createdAt": "2026-01-15T14:30:00.000Z",
"updatedAt": "2026-01-15T14:30:00.000Z",
"id": "507f1f77bcf86cd799439011",
"user": {
"createdAt": "2026-01-15T14:30:00.000Z",
"updatedAt": "2026-01-15T14:30:00.000Z",
"id": "507f1f77bcf86cd799439011",
"name": "Jane Doe",
"email": "jane.doe@example.com",
"phone": [
"+15555550100"
],
"isActive": true,
"isEmailVerified": true,
"lastActive": "2026-01-15T14:30:00.000Z",
"roles": [
"user"
],
"avatar": {
"createdAt": "2026-01-15T14:30:00.000Z",
"updatedAt": "2026-01-15T14:30:00.000Z",
"id": "507f1f77bcf86cd799439011",
"name": "photo.heic",
"providerId": "uploads/507f1f77bcf86cd799439011/photo.heic",
"convertedName": "photo.jpg",
"convertedProviderId": "uploads/507f1f77bcf86cd799439011/photo.jpg",
"provider": "s3",
"size": 204800,
"transferState": 42.0
},
"onboardingStatus": "completed",
"userType": "attorney",
"firstName": "Jane",
"lastName": "Doe",
"initials": "JD",
"userOrganizations": [
{}
]
},
"role": "member",
"organization": {},
"lastActiveAt": "2026-01-15T14:30:00.000Z"
},
"billing": {
"tier": "firm",
"tierName": "Firm",
"billingMode": "per-source",
"cadence": "monthly",
"baseFeeCents": 24900,
"paymentMethodOnFile": true,
"supportTier": "next-day",
"limits": {
"seatCap": 10,
"storageGB": 5000,
"perCaseSourceCap": 42.0
},
"features": [
"rsmf",
"ai",
"mcp",
"whiteLabel"
],
"prices": [
{
"skuKey": "collection.phone",
"name": "Phone collection",
"unitAmountCents": 17900,
"included": false,
"listAmountCents": 42.0,
"overridden": false,
"recurrence": "monthly",
"freeFirstPeriod": false
}
],
"overrides": {
"skuUnitAmountCents": {
"collection.phone": 9900
}
}
}
},
"statusCode": 200,
"timestamp": "2026-01-15T10:15:00.000Z"
}