Skip to main content
POST
Create Service
Create a VPS service for a client. You can request automatic approval or submit the request for manual approval.

Choose a plan

Use List Plans to obtain your active broker catalog, then pass the plan slug, id, or display name in plan. Catalog validation also applies to Sandbox creation.

Behavior

When auto_approve is true, the API starts service provisioning immediately. When auto_approve is false, the API creates a pending service request and alerts your eligible staff members for review. Service provisioning happens only if the service request is approved manually.

Responses

A request can return HTTP 200 or HTTP 202.

Automatic approval

When automatic approval succeeds, the endpoint returns HTTP 200.

Manual approval

When auto_approve is false, the endpoint creates a pending service request and returns HTTP 202.

Processing and review

The endpoint returns HTTP 202 when processing is still in progress or when a setup problem needs further review from NYCServers. In this situation the submission should be treated as submitted, and a re-try is not needed. Use a unique X-Idempotency-Key for each intended creation and reuse it for retries with the same input. Without the header, repeated calls can create separate requests. Read Errors and Retries before retrying a timeout or error.

Endpoint errors

For authentication, permissions, rate limits, and safe retries, see Errors and Retries.

Authorizations

Authorization
string
header
required

Send the API key in the Authorization bearer header. Production keys begin with sk_live_.

Headers

X-Idempotency-Key
string

Unique key for one intended operation. Reuse with unchanged input for retries. Supported by service creation, plan changes, cancellation, and request approval (not denial). Creation replays by key without checking changed input; action payload conflicts can return 409. See /api/errors-and-retries for endpoint-specific behavior.

Body

application/json
client_name
string
required
Minimum string length: 1
client_email
string<email>
required
plan
string
required

Active broker catalog plan id, slug, or display name. Slugs and display names are matched case-insensitively. Use GET /v1/plans for available choices. Catalog validation also applies in Sandbox Mode.

vps_language
string
default:english

Language value or configured display label accepted case-insensitively. Values are english, spanish, french, german, italian, portuguese, russian, chinese, arabic, malay, thai, vietnamese, hindi, urdu, bengali, turkish, polish, ukrainian, romanian, and dutch.

auto_approve
boolean
default:true
trading_account_number
string | null
notes
string | null

Response

Service created.

success
boolean
required
data
object
required
message
string
pagination
object
Last modified on September 8, 2026