Pre-release. HostCraft is in testing and not yet for sale. These docs describe the current build and may change. Join the waitlist to hear when it launches.
Plan API
Source: daemon/proto/hostcraft/v1/plan.proto
PlanService
Section titled “PlanService”PlanService manages the hosting plan catalogue. REST: /api/v1/plans.
| Method | REST route | Permission | Streaming |
|---|---|---|---|
ListPlans |
GET /api/v1/plans |
PlanRead |
unary |
CreatePlan |
POST /api/v1/plans |
PlanCreate |
unary |
GetPlan |
GET /api/v1/plans/{id} |
PlanRead |
unary |
UpdatePlan |
PUT /api/v1/plans/{id} |
PlanUpdate |
unary |
DeletePlan |
DELETE /api/v1/plans/{id} |
PlanDelete |
unary |
ImportExamplePlans |
POST /api/v1/plans/import-example |
PlanCreate |
unary |
ApplyPlan |
POST /api/v1/plans/{id}/apply |
PlanApply |
unary |
ListPlans
Section titled “ListPlans”/hostcraft.v1.PlanService/ListPlans
- Request: ListPlansRequest
- Response: ListPlansResponse
CreatePlan
Section titled “CreatePlan”/hostcraft.v1.PlanService/CreatePlan
- Request: PlanWriteRequest
- Response: PlanResponse
GetPlan
Section titled “GetPlan”/hostcraft.v1.PlanService/GetPlan
- Request: GetPlanRequest
- Response: PlanResponse
UpdatePlan
Section titled “UpdatePlan”/hostcraft.v1.PlanService/UpdatePlan
- Request: PlanWriteRequest
- Response: PlanResponse
DeletePlan
Section titled “DeletePlan”/hostcraft.v1.PlanService/DeletePlan
- Request: DeletePlanRequest
- Response: DeletePlanResponse
ImportExamplePlans
Section titled “ImportExamplePlans”/hostcraft.v1.PlanService/ImportExamplePlans
- Request: ImportExamplePlansRequest
- Response: ImportExamplePlansResponse
ApplyPlan
Section titled “ApplyPlan”/hostcraft.v1.PlanService/ApplyPlan
- Request: ApplyPlanRequest
- Response: ApplyPlanResponse
Messages
Section titled “Messages”ApplyPlanRequest
Section titled “ApplyPlanRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
account_ids |
repeated string |
2 | - |
all |
bool |
3 | - |
ApplyPlanResponse
Section titled “ApplyPlanResponse”| Field | Type | Number | Description |
|---|---|---|---|
results |
repeated ApplyPlanResult |
1 | - |
ApplyPlanResult
Section titled “ApplyPlanResult”| Field | Type | Number | Description |
|---|---|---|---|
account_id |
string |
1 | - |
username |
string |
2 | - |
workflow_id |
string |
3 | - |
error |
string |
4 | - |
DeletePlanRequest
Section titled “DeletePlanRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
DeletePlanResponse
Section titled “DeletePlanResponse”No fields.
GetPlanRequest
Section titled “GetPlanRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
ImportExamplePlansRequest
Section titled “ImportExamplePlansRequest”No fields.
ImportExamplePlansResponse
Section titled “ImportExamplePlansResponse”| Field | Type | Number | Description |
|---|---|---|---|
imported |
repeated string |
1 | plan ids created |
skipped |
repeated string |
2 | plan ids that already existed |
ListPlansRequest
Section titled “ListPlansRequest”No fields.
ListPlansResponse
Section titled “ListPlansResponse”| Field | Type | Number | Description |
|---|---|---|---|
plans |
repeated Plan |
1 | - |
| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
name |
string |
2 | - |
legacy_php_allowed |
bool |
3 | - |
limits |
PlanLimits |
4 | - |
price |
PlanPrice |
5 | - |
billing_period |
string |
6 | - |
features |
repeated string |
7 | - |
display_order |
int64 |
8 | - |
active |
bool |
9 | - |
account_count |
int64 |
10 | - |
created_at |
google.protobuf.Timestamp |
11 | - |
updated_at |
google.protobuf.Timestamp |
12 | - |
PlanLimits
Section titled “PlanLimits”| Field | Type | Number | Description |
|---|---|---|---|
disk_quota_bytes |
int64 |
1 | - |
bandwidth_quota_bytes |
int64 |
2 | - |
max_sites |
int64 |
3 | - |
max_mailboxes |
int64 |
4 | - |
max_databases |
int64 |
5 | - |
max_subdomains |
int64 |
6 | - |
max_addon_domains |
int64 |
7 | - |
max_parked_domains |
int64 |
8 | - |
max_subusers |
int64 |
9 | - |
max_cron_jobs |
int64 |
10 | - |
max_ftp_users |
int64 |
11 | - |
cpu_quota_percent |
int64 |
12 | - |
memory_max_bytes |
int64 |
13 | - |
tasks_max |
int64 |
14 | - |
PlanLimitsInput
Section titled “PlanLimitsInput”PlanLimitsInput is PlanLimits with presence: unset fields keep the server default (-1 means unlimited).
| Field | Type | Number | Description |
|---|---|---|---|
disk_quota_bytes |
optional int64 |
1 | - |
bandwidth_quota_bytes |
optional int64 |
2 | - |
max_sites |
optional int64 |
3 | - |
max_mailboxes |
optional int64 |
4 | - |
max_databases |
optional int64 |
5 | - |
max_subdomains |
optional int64 |
6 | - |
max_addon_domains |
optional int64 |
7 | - |
max_parked_domains |
optional int64 |
8 | - |
max_subusers |
optional int64 |
9 | - |
max_cron_jobs |
optional int64 |
10 | - |
max_ftp_users |
optional int64 |
11 | - |
cpu_quota_percent |
optional int64 |
12 | - |
memory_max_bytes |
optional int64 |
13 | - |
tasks_max |
optional int64 |
14 | - |
PlanPrice
Section titled “PlanPrice”| Field | Type | Number | Description |
|---|---|---|---|
amount_cents |
int64 |
1 | - |
currency |
string |
2 | - |
ex_gst |
bool |
3 | - |
PlanResponse
Section titled “PlanResponse”| Field | Type | Number | Description |
|---|---|---|---|
plan |
Plan |
1 | - |
PlanWriteRequest
Section titled “PlanWriteRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | path id on update, chosen id on create |
name |
string |
2 | - |
legacy_php_allowed |
bool |
3 | - |
limits |
PlanLimitsInput |
4 | - |
price |
PlanPrice |
5 | - |
billing_period |
string |
6 | - |
features |
repeated string |
7 | - |
display_order |
int64 |
8 | - |
active |
optional bool |
9 | - |