Organization API: Catalog & Services: Staff
The 13 Organization API operations for staff.
Part of Catalog & Services.
POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/cancel
Cancel on the customer's behalf: the same sequence their own button runs,
credit for unused time included, with the staff member on the audit row.
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
immediate |
boolean |
no |
reason |
string or null |
no |
keep_snapshot |
boolean |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/cancel-plan-change
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/services/{service_id}/cancel-preview
| Name |
In |
Type |
Required |
Description |
service_id |
path |
integer |
yes |
|
org_slug |
path |
string |
yes |
|
immediate |
query |
boolean |
no |
Default: True. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/change-plan
Move the service to another plan of the same cycle. An upgrade raises
the prorated invoice the customer pays; a downgrade credits the wallet
under the credit policy. The customer's own flow, run by staff.
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
org_pricing_id |
integer |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/services/{service_id}/due-date
Move the next renewal. Extending is goodwill; pulling it in is a
correction. Both are written to the platform service too, so the
invoice run and the suspension sweeper see the same date.
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
next_due_date |
string (date) |
yes |
reason |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/services/{service_id}/notes
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/notes
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
body |
string |
yes |
| Status |
Meaning |
201 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/services/{service_id}/plan-options
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/services/{service_id}/plan-preview
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
org_pricing_id |
query |
integer |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/retry-provision
Re-queue provisioning for an order stuck before it had a server.
The order must be this brand's, still pending, provisioning or failed,
have no live server yet, be paid for (or never invoiced), and have no
provision job already queued for it: paying is what starts provisioning,
and this must not be a way around that, whatever the order's status says.
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/suspend
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
reason |
string or null |
no |
notify |
boolean |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/terminate
End a service now with no cancellation credit. This is for abuse, fraud,
or a refund already made. Admin only; the reason is kept.
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
reason |
string |
yes |
notify_customer |
boolean |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/unsuspend
| Name |
In |
Type |
Required |
service_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |