Skip to content
Coritan Docs

Organization API: Catalog & Services: Staff

The 13 Organization API operations for staff.

View as Markdown

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.

Move the service to another plan of the same cycle

Section titled Move the service to another plan of the same cycle

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. Only the organization's service moves: the platform service behind it has no due date of its own, because Coritan charges the organization wholesale when its customer's invoice is paid (app.billing.wholesale), and a date there would start the platform's invoice run billing the organization's owner at list price.

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.

Re-queue provisioning for an order stuck before it had a server

Section titled Re-queue provisioning for an order stuck before it had a server

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

Suspend an active service. Support and above; audited. The reason is shown to the customer. 400 for a service that is not active, 404 for one of another organization, and 429 past 120 suspensions an hour per staff member.

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.

End a service now with no cancellation credit

Section titled End a service now with no cancellation credit

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, after a step-up (403 reauth_required otherwise); the reason is kept and audited. 404 for a service of another organization, and 429 past 30 an hour per staff member.

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.

Lift a suspension and call off any deletion date it carried

Section titled Lift a suspension and call off any deletion date it carried

POST /api/v1/orgs/{org_slug}/staff/services/{service_id}/unsuspend

Lift a suspension and call off any deletion date it carried. Support and above; audited. 400 for a service that is not suspended, 404 for one of another organization, and 429 past 120 an hour per staff member.

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.