Skip to content
Systey

Order with wallet balance

Request, parameters and responses for this API endpoint.

POST/api/v1/customer/orders

Overview

This endpoint requires an API key with write access. Its creator must still be the user of the customer account.

Headers & parameters

AuthorizationBearer $SYSTEY_API_KEY · required

Content-Typeapplication/json

Idempotency-Keyheader · required

{"type":"string","format":"uuid"}

Use a new UUID per action. Reuse the same UUID and content for retries.

Request body

Send a JSON object. Required fields refer to their containing object. Business requirements for the endpoint also apply; unknown fields are rejected.

Schema fields and requirements
FieldTypeRequired
affiliateCode

default: "" · maxLength: 32

string—
couponCode

default: "" · maxLength: 32

string—
catalogId

uuid

stringYes
catalogVersion

date-time

stringYes
paymentMethod

const: "WALLET"

stringYes
hostname

default: "" · maxLength: 253

string—
sshPublicKey

default: "" · maxLength: 4096

string—
accessMethod

"SSH_KEY" | "PASSWORD" · default: "SSH_KEY"

string—
sshKeyId

default: "" · uuid | ""

string—
serverPassword

default: "" · maxLength: 72

string—
serverPasswordConfirm

default: "" · maxLength: 72

string—
operatingSystemId

default: "" · uuid | ""

string—
domainHandleId

default: "" · uuid | ""

string—
domainSandbox

"true" | "false"

string—
domainAction

"REGISTER" | "TRANSFER"

string—
domainName

default: "" · maxLength: 253

string—
domainAuthInfo

default: "" · maxLength: 255

string—
domainRegistrantType

"PERSON" | "ORG" · default: "ORG"

string—
domainFirstName

default: "" · maxLength: 100

string—
domainLastName

default: "" · maxLength: 100

string—
domainEmail

default: "" · maxLength: 254

string—
domainPhone

default: "" · maxLength: 30

string—
domainCountry

default: "DE" · maxLength: 2

string—
domainDnsTemplate

"EMPTY" | "WEBSITE" | "GOOGLE_WORKSPACE" | "MICROSOFT_365" · default: "EMPTY"

string—
domainDnsRecords

default: "[]" · maxLength: 100000

string—
accepted

const: true

booleanYes

Example request

Replace placeholders with your own values. Persist $REQUEST_UUID before a mutation if this endpoint requires an Idempotency-Key.

cURL
curl -i -X POST "https://systey.com/api/v1/customer/orders" \
  -H "Authorization: Bearer $SYSTEY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $REQUEST_UUID" \
  --data '{
  "catalogId": "<offer UUID>",
  "catalogVersion": "<catalogVersion>",
  "paymentMethod": "WALLET",
  "accepted": true,
  "hostname": "mein-server",
  "operatingSystemId": "<OS UUID>",
  "accessMethod": "SSH_KEY",
  "sshPublicKey": "<public SSH key>"
}'

Response

HTTP 202

The order has been accepted. Check order status using the Location header URL. FULFILLED confirms provisioning.

Schema fields and requirements
FieldTypeRequired
dataobjectYes
data.id

uuid

stringYes
data.numberintegerYes
data.kind

"INITIAL" | "RENEWAL"

stringYes
data.namestringYes
data.category

"VPS" | "DOMAIN" | "WEBSPACE" | "DEVELOPMENT" | "MANAGED_SERVICE"

stringYes
data.status

"PENDING_PAYMENT" | "PAID" | "PROVISIONING" | "FULFILLED" | "CANCELLED" | "REVIEW_REQUIRED"

stringYes
data.priceCentsintegerYes
data.setupCentsintegerYes
data.taxCentsintegerYes
data.totalCentsintegerYes
data.billingCycle

"ONCE" | "MONTHLY" | "YEARLY"

stringYes
data.paymentMethod

"WALLET" | "MOLLIE"

stringYes
data.commercialModel

"CONTRACT" | "PREPAID"

stringYes
data.renewalMode

"NONE" | "AUTOMATIC" | "CUSTOMER"

stringYes
data.sandboxbooleanYes
data.createdAt

date-time

stringYes
data.paidAt

date-time | null

string | nullYes
data.fulfilledAt

date-time | null

string | nullYes
data.product

object | null

object | nullYes
data.product.id

uuid

stringYes
data.payment

object | null

object | nullYes
data.payment.id

uuid

stringYes
data.payment.statusstringYes

Errors

Error responses contain error and optionally message and details. Rate limit: 120 requests per minute per key. On HTTP 429 respect Retry-After.